Problema al acceder a métodos en java.

Iniciado por bewa, 25 Diciembre 2011, 19:27 PM

0 Miembros y 1 Visitante están viendo este tema.

bewa

Hola, me estoy iniciando en la programación en java y llevo un par de días sin poder solucionar un problema. Además, como estamos en vacaciones no se lo he podido preguntar a ningún profesor.

Bueno, al tema  :xD

Estoy intentando hacer un programa un poco tonto en el que tengo tres clases:

-La clase perro que tiene dos atributos: nombre( del perro) y edad.
-La clase cocker que hereda de la clase perro el nombre y la edad y además tiene el atributo color.
-La clase pastoraleman que también hereda de la clase perro el nombre y la edad y además tiene el atributo nº de dientes ;D

Bien, pues al usuario se le da la opción de crear cockers (con nombre, edad y color) o pastores alemanes(con un nombre, una edad y un número de dientes) y esos objetos se van almacenando en un array de tipo perro. Al ser un array de tipo perro sólo puedo acceder a los métodos de la clase perro y no a los métodos de cocker(en caso de que en esa casilla haya almacenado un cocker) para obtener el color y los métodos de la clase pastor alemán para obtener su número de dientes.

Me explico regular, pero bueno xD

Proteus1989

Tienes que castearlo ((Cocker)vector).metodoCocker();
Lo único es que tienes que saber cuales son cocker y cuales PastorAleman.

bewa

Cita de: Proteus1989 en 25 Diciembre 2011, 20:42 PM
Tienes que castearlo ((Cocker)vector).metodoCocker();
Lo único es que tienes que saber cuales son cocker y cuales PastorAleman.

Para saber cuales son cocker y cuales pastor Aleman utilizo instanceof.

Voy a probar a hacerlo.

Muchas gracias!!!

bewa

Proteus, eres un máquina. Estaba desesperao buscando y funciona a la perfección.

Muchas gracias!!

Proteus1989