c4 objeto metodos y funciones v2

38
Titulo de la clases Objeto, métodos y funciones Java Dr. Juan Pedro Febles

Upload: mariano-galvez

Post on 08-Jul-2015

2.620 views

Category:

Education


3 download

TRANSCRIPT

Page 1: C4 objeto metodos y funciones v2

Titulo de la clases

Objeto, métodos y funciones

Java Dr. Juan Pedro Febles

Page 2: C4 objeto metodos y funciones v2

Del tema anterior

Clases en Java

Java Dr. Juan Pedro Febles

Page 3: C4 objeto metodos y funciones v2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Java Dr. Juan Pedro Febles

Próximo tema

APLETS