C4 objeto metodos y funciones v2
-
Upload
mariano-galvez -
Category
Education
-
view
2.620 -
download
3
Transcript of C4 objeto metodos y funciones v2
![Page 1: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/1.jpg)
Titulo de la clases
Objeto, métodos y funciones
Java Dr. Juan Pedro Febles
![Page 2: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/2.jpg)
Del tema anterior
Clases en Java
Java Dr. Juan Pedro Febles
![Page 3: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/3.jpg)
Sobre Clases diga:
Una definición general
¿Qué es un atributo?
Los tipos de clases en Java
Java Dr. Juan Pedro Febles
![Page 4: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/4.jpg)
Sobre Herencia explique:
Una definición
¿Cómo se define?
¿Cuáles variables se heredan y cuáles no?
Java Dr. Juan Pedro Febles
![Page 5: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/5.jpg)
Temas
1.Definición de Objeto 2.Comparación de Objetos y Clases3.Determinación de la clases de un Objeto4.Definición general de métodos 5.Llamada a métodos6.Métodos de clase 7.El operador instanceof 8.La función mostrar9.La función cambiarDimensiones 10.La Duplicación de objetos11.El constructor
Java Dr. Juan Pedro Febles
![Page 6: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/6.jpg)
Objetivos
1.Definir objeto en programación.2.Establecer la relación de objeto método y clases
en Java3.Evaluar cuando dos objetos son iguales y cuando
no4.Escribir programas para modificar objetos 5.Conocer la clonación de Objetos6. Identificar los métodos en Java y utilizarlo en la
transformación de objetos7.Trabajar con algunas funciones básicas
Java Dr. Juan Pedro Febles
![Page 7: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/7.jpg)
Java Dr. Juan Pedro Febles
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.
![Page 8: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/8.jpg)
Java Dr. Juan Pedro Febles
¿Y los métodos?
El comportamiento de los objetos de una clase se implementa mediante funciones miembro o métodos.
![Page 9: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/9.jpg)
Java Dr. Juan Pedro Febles
Una definición de método
Es un conjunto de instruccionesque realizan una determinadatarea.
Son similares a las funciones de loslenguajes estructurados.
![Page 10: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/10.jpg)
Métodos de instancia y de clase
De instanciaUn objeto llama a
un método para
realizar una
determinada
tarea
Métodos
De clase
El método
se llama
desde la
propia clase.
Java Dr. Juan Pedro Febles
![Page 11: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/11.jpg)
Java Dr. Juan Pedro Febles
class mamifero {String color; String sex;boolean hambre;} void alimentarMamifero () {
If (hambre == true) {System.out.printl (“dale comida al animalito”);hambre=false;
}elseSystem.out.printl (“El animal esta en forma”);
}//Hay mas
Hasta ahora tenemos
![Page 12: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/12.jpg)
Java Dr. Juan Pedro Febles
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”);}
![Page 13: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/13.jpg)
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
}
Implementación de Métodos
Java Dr. Juan Pedro Febles
![Page 14: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/14.jpg)
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
![Page 15: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/15.jpg)
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() {
. . .
}
}
Obligatorio: el nombre y el tipo de retorno del método.
Java Dr. Juan Pedro Febles
![Page 16: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/16.jpg)
No devuelve valor
void
Devuelve valor
Dato primitivo
Referencia
Devolver un Valor desde un Método
Java Dr. Juan Pedro Febles
![Page 17: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/17.jpg)
Su nombre es igual que el de la clase
Inicializa un objeto de la clase
Son llamados mediante el operador new
El método constructor
Java Dr. Juan Pedro Febles
![Page 18: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/18.jpg)
Java Dr. Juan Pedro Febles
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
El operador New
![Page 19: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/19.jpg)
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
![Page 20: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/20.jpg)
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.
Sobre escritura de métodos
Java Dr. Juan Pedro Febles
![Page 21: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/21.jpg)
Java Dr. Juan P Febles
Creando la jerarquía
Animal
Terrestre Acuático
Bípedos reptiles Voladores
![Page 22: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/22.jpg)
Java Dr. Juan P Febles
Localización de métodos en una jerarquía
Definición del método Clase
Clase Clase
ClaseClase
ObjetoObjeto
Se envía el mensaje, recorre verticalmente la jerarquía hasta que una definición sea encontrada
![Page 23: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/23.jpg)
Java Dr. Juan P Febles
El método es anulado por esta definición
Definición del método
inicial
Clase
ClaseClase
ObjetoObjeto
Se envía el mensaje, recorre verticalmente la jerarquía hasta que una definición sea encontrada
Clase
Este procedimiento es llamado anulación de método
![Page 24: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/24.jpg)
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:
Nombre de método
Java Dr. Juan Pedro Febles
![Page 25: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/25.jpg)
class DibujodeDatos {
void draw(String s) {
. . .
}
void draw(int i) {
. . .
}
void draw(float f) {
. . .
}
}
Java Dr. Juan Pedro Febles
![Page 26: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/26.jpg)
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.
Especificadores de acceso
Java Dr. Juan Pedro Febles
![Page 27: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/27.jpg)
Java Dr. Juan Pedro Febles
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.
![Page 28: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/28.jpg)
Java Dr. Juan Pedro Febles
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
![Page 29: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/29.jpg)
Java Dr. Juan Pedro Febles
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.
![Page 30: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/30.jpg)
Java Dr. Juan Pedro Febles
class EqualsTest{
public static void main (String args[]){
String str1,str2;
str1=“La vida sigue igual”;
str2=str1;
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));
}
}
Uso del método equals de la clase String.
![Page 31: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/31.jpg)
Java Dr. Juan Pedro Febles
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
![Page 32: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/32.jpg)
Java Dr. Juan Pedro Febles
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.
![Page 33: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/33.jpg)
Java Dr. Juan Pedro Febles
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 //
Point pt = new Point(10,10);
Pt instanceof String //
true
false
![Page 34: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/34.jpg)
Java Dr. Juan Pedro Febles
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.
![Page 35: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/35.jpg)
Java Dr. Juan Pedro Febles
import java.lang.reflect.*;
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];
}
}
}
El método SeeMethods.java
La clase import java.lang.reflect.* ofrece información sobre atributos, metodos y contructores de cualquier clase.
![Page 36: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/36.jpg)
Java Dr. Juan Pedro Febles
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()
15. Method: public double java.util.Random.nextDouble()
16. Method: public synchronized double java.util.Random.nextDouble()
Salida de la ejecución de SeeMethods
![Page 37: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/37.jpg)
Java Dr. Juan Pedro Febles
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.
![Page 38: C4 objeto metodos y funciones v2](https://reader033.fdocuments.co/reader033/viewer/2022052910/559cc5251a28abb4368b4571/html5/thumbnails/38.jpg)
Java Dr. Juan Pedro Febles
Próximo tema
APLETS