Foros del Web » Programación para mayores de 30 ;) » Java »

INTERFACE e IMPLEMETS java

Estas en el tema de INTERFACE e IMPLEMETS java en el foro de Java en Foros del Web. Buenas tardes. Tengo una duda respecto al tema de métodos e interfaces en JAVA. Mi programa consta de 4 clases: Clase 1: class Jaula{...} Clase ...
  #1 (permalink)  
Antiguo 27/12/2011, 12:17
 
Fecha de Ingreso: diciembre-2011
Mensajes: 2
Antigüedad: 12 años, 3 meses
Puntos: 0
INTERFACE e IMPLEMETS java

Buenas tardes.
Tengo una duda respecto al tema de métodos e interfaces en JAVA.
Mi programa consta de 4 clases:

Clase 1:
class Jaula{...}

Clase 2:
pulic interface Animal{
public void come() { }
}

Clase3:
class Perro implements Animal{
public void come(){
System.out.println("come");
}
public void ladra(){
System.out.printl("ladra");
}
}
Clase 4:
class Gato implements Animal{
public void come(){
System.out.println("come");
}
public void maulla(){
System.out.printl("maulla");
}
}
El problema es el que sigue:
tengo un array en la clase Jaula que tiene dentro objetos Animal.
El problema es que no se si los objetos que tengo en al array son Perros o Gatos.
¿Como podría saber que objetos tengo?. Porque lo que tego que hacer es dependiendo si es gato o perro lllamar a un metodo(ladra) o a otro(maulla)
GRACIAS!
  #2 (permalink)  
Antiguo 27/12/2011, 14:44
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: INTERFACE e IMPLEMETS java

Hola:

Tienes en java instanceof y el "cast". Funciona así

if (unObjetoCualquiera instanceof Perro) {
((Perro)unObjetoCualquiera).ladra();
}

De todas formas, si quieres hacerlo bien, deberías hacer una clase o interfaz padre que tenga un método hazTuRuido() o el nombre que quieras para ese método. Tus clases Perro y Gato tendrían también ese método heredado y uno "ladraría" mientras que el otro "maullaría". El array sería de objetos/interfaces padre (aunque meterías Perros y Gatos) y simplemente llamarías al método hazTuRuido() sin importarte en absoluto si es Perro o Gato.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: clase, interface
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:42.