Java - test certificacion java2se

 
Vista:

test certificacion java2se

Publicado por rafa (2 intervenciones) el 25/04/2011 16:26:52
Hola a todos.
Tengo un ejercicio de java que lo tengo resuelto pero que no lo entiendo haber si me podeis ayudar.
muchas gracias.

given:

class ClassA{}
class ClassB extends ClassA{}
class ClassC extends ClassA{}
and:
ClassA p0 = new ClassA();
ClassB p1 = new ClassB();
ClassC p2 = new ClassC();
ClassA p3 = new ClassB();
ClassA p4 = new ClassC();

which three are valid) (Chose three)
a) p0 = p1; -----correcta
b) p1 = p2;
c) p2 = p4;
d) p2 = (ClassC)p1;
e) p1 = (ClassB)p3; -----correcta
f) p2 = (ClassC)p4; -----correcta

¿porque son correctas y porque son incorrectas?
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

test certificacion java2se

Publicado por Virginia (1 intervención) el 10/05/2011 11:35:25
Hola Rafa!

p0 = p1; es una asignación correcta porque a una referencia de una clase padre se puede asignar una referencia de una clase hija.

p1 = (ClassB)p3; esta es correcta porque p3 que es de tipo ClassA se convierte a ClassB y así si se puede asignar a p1.

p2 = (ClassC)p4; esta es correcta porque p4 que es de tipo ClassA se convierte a ClassC y así si se puede asignar a p2.

Esto tiene que ver con el polimorfismo en Java.

Para entenderlo mejor puedes leer esto http://preparandoscjp.wordpress.com/2011/05/08/orientacion-a-objetos-ii/
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

test certificacion java2se

Publicado por rafa (2 intervenciones) el 10/05/2011 12:09:56
Muchisimas gracias por tu ayuda.
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