Java - Orientacion Objeto

 
Vista:

Orientacion Objeto

Publicado por Orientacion Objeto (15 intervenciones) el 21/01/2007 15:47:10
Tengo una consulta ojala que alguien me ayude en esta:

Tengo a Clase Usuario que tiene 2 metodos sobrecargados:

class Usuario {
1. Persona getAtributos(Persona pers) { ..... }
2. Lider getAtributos(Lider lider) { ...... }

class Main {
Usuario usuar= new Usuario();

Persona pers= new Persona();
// hago cosas con pers, luego..

pers= new Lider();
pers= usuar.getAtributos(pers);

La ultima linea en vez de invocar al metodo 2 me invoca al 1
No deberia invocar al 2 por ser pers de tipo Lider ???
Como puedo solucionar esto??

Muchisiiimas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Orientacion Objeto

Publicado por Ezequiel (15 intervenciones) el 21/01/2007 16:17:24
Aclaro que Lider es una clase que extiende de Persona o sea Lider es hijo de Persona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Orientacion Objeto

Publicado por Gonzalo (180 intervenciones) el 21/01/2007 20:34:27
La verdad es que no entiendo demasiado bien qué es lo que estás intentando hacer.

¿Por qué los métodos .getAtributos() reciben como parámetro un Persona o un Lider? ¿Y por qué devuelven también un Persona o un Lider? ¿Qué es lo que hacen esos métodos y qué es lo que estás intentando hacer?

Y Lider extiende de Persona, vale, pero... Usuario de quién extiende? De Lider o de Persona?


En cuantgo a tu pregunta concreta de por qué llama al primer método en lugar de llamar al segundo, está claro.

Tú haces usuar.getAtributos(pers) y pers la has declarado como de tipo Persona. Así que a lo que llamas es a un método llamado getAtributos, que reciba como parametro un Persona y ese es el primer método, no el segundo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar