Java Interfacers

Páginas: 5 (1004 palabras) Publicado: 5 de octubre de 2015
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
FACULTAD DE ESTUDIOS SUPERIORES “ARAGÓN”
DIVISIÓN DE UNIVERSIDAD ABIERTA, CONTINUA Y A DISTANCIA

INTRODUCCIÓN AL LENGUAJE JAVA
M. en C. Marcelo Pérez Medel

Cree la siguiente clase:
public class Persona {
String nombre;
int edad;
float sueldo;
Persona (String a, int b, int c){
la clase */
nombre = a;
edad = b;
sueldo = c;
}
}
Note que “String” inicia conmayúscula.

/*

Constructor de

Escriba este código dentro de “main”
public static void main(String[] args) {
// TODO code application logic here
Persona oficina[] = new Persona[5];
/* Crear el
arreglo */
oficina[0] = new Persona("Marcelo", 40, 30000);
/* Se crea un elemento del arreglo */
System.out.println("los datos de la persona 1
son:");
System.out.printf("
%s
%d
%g
\n",
oficina[0].nombre,oficina[0].edad, oficina[0].sueldo);
/* se imprimen los datos desde el arreglo */
}

Modifique el código de la filmina 2:
public static void main(String[] args) {
Persona oficina[] = new Persona[5];
Persona temp = new Persona(“ “,0,0.0);

oficina[0] = new Persona("Marcelo", 40, 30000);
oficina[1] = new Persona(“Hugo", 28, 10000);
oficina[2] = new Persona(“Paco", 45, 40000);
oficina[3] = newPersona(“Elena", 25, 12000);
oficina[4] = new Persona(“Belem", 26, 20000);

temp = oficina[3];
System.out.println("los datos de temp son:");
System.out.printf(" %s

%d

%g \n", temp.nombre, temp.edad, temp.sueldo);

oficina[3].sueldo = 19000;
System.out.println("los datos de temp son:");
System.out.printf(" %s
}

%d

%g \n", temp.nombre, temp.edad, temp.sueldo);

Reflexione que ocurrió:
¿Por qué elvalor del objeto temp cambio, si la
modificación se realizó sobre oficina[3]?
En realidad lo que copiamos no fue un objeto,
sólo copiamos la referencia “temp” y oficina[3]
apuntan a la misma localidad de memoria.
¿Cómo resolvemos esto si queremos
elemento de un arreglo de objetos?

copiar

un

Copiando objetos de un arreglo
En lugar de utilizar “=“ se utiliza el
método “clone”, este método seencuentra
en la clase “object” y dado que todos los
objetos heredan de “object” (lo veremos el
sábado) “clone” se puede utilizar desde
cualquier objeto:
Modifique las filminas como sigue:

public class Persona implements Cloneable{
String nombre;
int edad;
float sueldo;
Persona (String a, int b, int c){
nombre = a;
edad = b;
sueldo = c;
}
Persona (){
nombre=" ";
edad=0;
sueldo =(float)0.0;
}
@Overrideprotected Object clone() throws CloneNotSupportedException {
return super.clone();
}

public static void main(String[] args) {
Persona oficina[] = new Persona[5];
Persona temp= new Persona();
oficina[0]
oficina[1]
oficina[2]
oficina[3]
oficina[4]

=
=
=
=
=

new
new
new
new
new

Persona("Marcelo", 40, 30000);
Persona("Hugo", 28, 10000);
Persona("Paco", 45, 40000);
Persona("Elena", 25, 12000);Persona("Belem", 26, 20000);

try {
temp = (Persona)oficina[3].clone();
} catch (Exception e) {
System.out.println("No se puede clonar");
}
System.out.println("los datos de temp son:");
System.out.printf(" %s %d %g \n", temp.nombre, temp.edad, temp.sueldo);
oficina[3].sueldo = 19000;
System.out.println("los datos de temp son:");
System.out.printf(" %s %d %g \n", temp.nombre, temp.edad, temp.sueldo);}

Copiando objetos de un arreglo

¿Cuál es la diferencia al copiar objetos y
al conar objetos?

Interfaces
Note que la línea:
public class Persona implements Cloneable{
utiliza la palabra reservada “implements”
que significa que implementa una interfaz.

Interfaces
• Es un conjunto de métodos abstractos y de
constantes publicas definidos en un archivo .java.
• Es similar a una clase abstractaen la que todos
sus métodos son abstractos.
• Su finalidad es la de definir el formato que deben
de
tener
determinados
métodos
que
han
de
implementar ciertas interfaces.

Interfaces
• Todos los métodos definidos en una interfaz son
públicos y abstractos.
• En una interfaz es posible definir constantes.
• Una interfaz no es una clase

Interfaces
• Ejemplo de una interfaz:

Implementación de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Java
  • Java
  • Java
  • java
  • JAVA
  • java
  • java
  • javiera

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS