3. Sobre Clases diga:
Una definición general
¿Qué es un atributo?
Los tipos de clases en Java
Java Dr. Juan Pedro Febles
4. Sobre Herencia explique:
Una definición
¿Cómo se define?
¿Cuáles variables se heredan y cuáles no?
Java Dr. Juan Pedro Febles
5. Temas
1. Definición de Objeto
2. Comparación de Objetos y Clases
3. Determinación de la clases de un Objeto
4. Definición general de métodos
5. Llamada a métodos
6. Métodos de clase
7. El operador instanceof
8. La función mostrar
9. La función cambiarDimensiones
10.La Duplicación de objetos
11.El constructor
Java Dr. Juan Pedro Febles
6. Objetivos
1. Definir objeto en programación.
2. Establecer la relación de objeto método y clases
en Java
3. Evaluar cuando dos objetos son iguales y cuando
no
4. Escribir programas para modificar objetos
5. Conocer la clonación de Objetos
6. Identificar los métodos en Java y utilizarlo en la
transformación de objetos
7. Trabajar con algunas funciones básicas
Java Dr. Juan Pedro Febles
7. Una definición de objeto
Un elemento independiente de un
programa de computadora que
representa un numero de recursos
relacionados y es proyectado para
cumplir tareas específicas.
Java Dr. Juan Pedro Febles
8. ¿Y los métodos?
El comportamiento de los
objetos de una clase se
implementa mediante
funciones miembro o métodos.
Java Dr. Juan Pedro Febles
9. Una definición de método
Es un conjunto de instrucciones
que realizan una determinada
tarea.
Son similares a las funciones de los
lenguajes estructurados.
Java Dr. Juan Pedro Febles
10. Métodos de instancia y de clase
Métodos
De instancia De clase
Un objeto llama a El método
un método para se llama
realizar una
desde la
determinada
tarea propia clase.
Java Dr. Juan Pedro Febles
11. class mamifero {
String color; Hasta ahora tenemos
String sex;
boolean hambre;
}
void alimentarMamifero () {
If (hambre == true) {
System.out.printl (“dale comida al animalito”);
hambre=false;
}else
System.out.printl (“El animal esta en forma”);
}
//Hay mas
Java Dr. Juan Pedro Febles
12. Falta un método
void showAttributes () {
System.out.printl (“Este es un” + sexo+””
+color+”mamifero”);
If (hambre == true)
System.out.printl (“El animal esta con
hambre”);
else
System.out.printl (“El animal esta lleno”);
}
Java Dr. Juan Pedro Febles
13. Implementación de
Métodos
La implementación de un método consiste
de dos partes, la declaración (firma) y el
cuerpo del método.
declaraciónDeMétodo {
cuerpoDeMétodo
}
Java Dr. Juan Pedro Febles
14. Aspectos de la declaración
El nombre del método
El tipo de retorno
Tipos y cantidad de argumentos
Quién puede Llamar al método
Java Dr. Juan Pedro Febles
15. Obligatorio: el nombre y el tipo de
retorno del método.
Ejemplo, el código siguiente declara un método llamado
estaVacio() en la clase Pila que devuelve un valor booleano
(true o false):
class Pila {
...
boolean estaVacio() {
...
}
}
Java Dr. Juan Pedro Febles
16. Devolver un Valor desde un Método
No devuelve Devuelve
valor valor
Dato
void
primitivo
Referencia
Java Dr. Juan Pedro Febles
17. El método constructor
Su nombre es igual que el de la clase
Inicializa un objeto de la clase
Son llamados mediante el operador new
Java Dr. Juan Pedro Febles
18. El operador New
Se usa para crear un nuevo objeto
Ejemplo:
String teamName = new String();
Radom randInfo = new Random();
Mamifero A = new mamifero();
Nota: Los paréntesis pueden estar vacíos pero son
importantes
Java Dr. Juan Pedro Febles
19. Precisión sobre constructores
Todas las clases Java tienen métodos especiales
llamados Constructores que se utilizan para
inicializar un objeto nuevo de ese tipo.
Los constructores tienen el mismo nombre que la
clase --el nombre del constructor de la clase
Rectangle es Rectangle(), el nombre del
constructor de la clase Thread es Thread(),
etc...
Java Dr. Juan Pedro Febles
20. Sobre escritura de métodos
Una clase puede sobrescribir un
método de sus superclases.
Debe tener el mismo, nombre, tipo
de retorno y lista de parámetros que
el método al que ha sobrescrito.
Java Dr. Juan Pedro Febles
21. Creando la jerarquía
Animal
Terrestre Acuático
Bípedos reptiles Voladores
Java Dr. Juan P Febles
22. Definición
del método Localización de
Clase
métodos en
una jerarquía
Clase Se envía el
Clase
mensaje,
recorre
verticalmente
la jerarquía
hasta que una
Clase definición sea
Clase encontrada
Objeto Objeto
Java Dr. Juan P Febles
23. Definición El método es
Clase
del método anulado por
esta definición
inicial
Clase
Se envía el
mensaje,
recorre
verticalmente
la jerarquía
hasta que una
Clase definición sea
Clase encontrada
Este procedimiento
es llamado Objeto Objeto
anulación de
método Java Dr. Juan P Febles
24. Nombre de método
En Java, se puede utilizar el mismo nombre
para varios métodos pasándole un tipo de
parámetro diferente a cada uno de los
métodos.
Ejemplo: La clase de dibujo, se podrán
declarar tres métodos llamados draw<() y que
cada uno aceptara un tipo de parámetro
diferente: Java Dr. Juan Pedro Febles
25. class DibujodeDatos {
void draw(String s) {
...
}
void draw(int i) {
...
}
void draw(float f) {
...
}
}
Java Dr. Juan Pedro Febles
26. Especificadores de acceso
private
Niguna otra clase puede crear un objeto de su clase.
protected
Sólo las subclases de la clase pueden crear ejemplares de
ella.
public
Cualquiera pueda crear un ejemplar de la clase.
package-access
Nadie externo al paquete puede construir un ejemplar de
su clase.
Java Dr. Juan Pedro Febles
27. Variables de clase
class MiembroDeFamilia {
static String apellido = Perez;
String name;
int edad;
}
Nota: Si una clase tiene una variable declarada static ,
todo objeto de esa clase tendrá el mismo valor para
esa variable.
Java Dr. Juan Pedro Febles
28. Comparación de
objeto y clase
•Comparación de objetos
•Descubrir a que clase pertenece
un objeto
•Comprobación si un objeto es
una instancia de una clase
determinada
Java Dr. Juan Pedro Febles
29. Comparación de
objeto
•La mayoría de los operadores de
comparación trabajan solo con tipos
primitivos de datos.
•Las excepciones son == y !=, pero no
comprueban si los valores son iguales,
sino si los objetos son los mismos.
•Ejemplo: Comparar dos objetos de la
clase String.
Java Dr. Juan Pedro Febles
30. class EqualsTest{
public static void main (String args[]){ Uso del
String str1,str2; método
str1=“La vida sigue igual”; equals de la
str2=str1; clase String.
System.out.println(“String1:”+str1);
System.out.println(“String2:”+str2);
System.out.println (“El mismo Objeto”+(str1==str2));
str2= new String(str1);
System.out.println(“String1:”+str1);
System.out.println(“String2:”+str2);
System.out.println (“El mismo Objeto”+(str1==str2));
System.out.println (“El mismo valor”+ str1.equals (str2));
}
}
Java Dr. Juan Pedro Febles
31. Salidas
String1: La vida sigue igual.
String2: La vida sigue igual.
El mismo Objeto? true
String1: La vida sigue igual.
String2: La vida sigue igual.
El mismo Objeto? False
El mismo valor? true
Java Dr. Juan Pedro Febles
32. Determinar la clase
de un objeto
Modo de hacerlo
String name = obj.getClass().getName();
El método getClass() está definido en la clase
Object y como tal esta definido para todos los
objetos. El resultado del método es un objeto
llamado Class que posee un método llamado
getName que devuelve un String representando el
nombre de la clase.
Java Dr. Juan Pedro Febles
33. El operador instanceof
Posee dos operandos: Un objeto a la izquierda y
un nombre de clase a la derecha: la expresión
devuelve true o false, dependiendo de si el objeto
pertenece a la clase o a cualquiera de las subclase
de esa clase.
Ejemplo:
“perro” instanceof String // true
Point pt = new Point(10,10);
Pt instanceof String // false
Java Dr. Juan Pedro Febles
34. Inspeccionando una clase con
el método de reflexión.
Este método permite que una clase
aprenda detalles sobre cualquier otra clase.
Un programa puede cargar una clase sobre
la cual el nada conoce, encontrar las
variables, métodos y constructores de esa
clase y trabajar con ellos.
Java Dr. Juan Pedro Febles
35. import java.lang.reflect.*; El método
SeeMethods.java
import java.util.Random;
class SeeMethods {
public static void main (String[] arguments) {
Random = new Random ();
Class clasName = rd.getMetods();
Method[] methods =className.getMethods();
for (int i = 0; i < methods.length; i ++ {
System.out.println (“Method:” +methods[i];
}
La clase import
}
java.lang.reflect.* ofrece
} información sobre atributos,
metodos y contructores de
cualquier clase.
Java Dr. Juan Pedro Febles
36. Salida de la ejecución de SeeMethods
1. Method: public final native java.lang.Classjava.lang.Object.getClass()
2. Method: public native int java.lang.Object.hashCode()
3. Method: public boolean java.lang. Object.equals(java.lang.Object)
4. Method: public java.lang.String java.lang.Object.toString()
5. Method: public final native void java.lang.Object.notify()
6. Method: public final native void java.lang.Object.notifyAll()
7. Method: public final native void java.lang.Object.wait(long) trhows
Java .lang.InterruptedExeption
8. Method: public final void java.lang.Object.wait(long,int) throws
Java .lang.InterruptedExeption
9. Method: public final void java.lang.Object.wait() throws
java.lang. InterruptedExeption
10. Method: public synchronized void java.util.Random.setSeed(byte[])
11. Method: public void java.util.Random.nextBytes(byte[])
12. Method: public int java.util.Random.nexInt()
13. Method: public long java.util.Random.nexLong()
14. Method: public float void java.util.Random.nextFloat()
Java Dr. Juan Pedro Febles
15. Method: public double java.util.Random.nextDouble()
16. Method: public synchronized double java.util.Random.nextDouble()
37. Cada línea da la siguiente
información sobre un metodo
•Si es public.
•Que tipo de objeto o variable retorna.
•Si el método es de la clase actual o de una
de sus superclases.
•El nombre del método.
•El tipo de objeto y variables utilizadas
como argumentos al llamar al método.
Java Dr. Juan Pedro Febles