Herencia, genericidad e instanciación

Carnelune Mensajes publicados 5 Estado Membre -  
Carnelune Mensajes publicados 5 Estado Membre -
Hola,

Estoy revisando la herencia en Objetos y tengo problemas para entender todas las relaciones entre clases concretas, clases abstractas e interfaces.
Aquí hay un ejercicio corregido que resume los diferentes casos, pero no logro entender todo.

http://img15.hostingpics.net/pics/260310jawa.jpg
_X : interfaces, $X : clases abstractas.

¿Alguien podría explicarme la validación y la invalidez de las propuestas? Sé por qué hay dobles implementaciones, que las clases abstractas no son instanciables y que no se puede hacer herencia múltiple. Pero sigo bloqueada...

¡Gracias de antemano a quienes me respondan!

Configuración: Windows 7 / Firefox 23.0

1 réponse

KX Mensajes publicados 19031 Estado Modérateur 3 020
 
Ya es una muy mala idea usar el $ en los nombres de clases!
Para el _ es menos grave, pero también se debe evitar...

En cualquier caso, la asignación es posible si el tipo concreto es un descendiente del tipo declarado. Por ejemplo, para los dos primeros: E desciende de _N (a través de _A), pero F no desciende de él. La confianza no excluye el control.
1
Carnelune Mensajes publicados 5 Estado Membre
 
Creo (espero) que son solo convenciones utilizadas aquí por el profe para permitirnos reconocer fácilmente las clases y las instancias.

¿Y para el tercero, por ejemplo? Ninguno de los dos desciende del otro...

¡Gracias por tu rápida respuesta!
0
KX Mensajes publicados 19031 Estado Modérateur 3 020
 
"Creo (espero) que solo son convenciones utilizadas aquí por el prof para permitirnos reconocer fácilmente las clases e instancias."
Siempre y cuando no las utilices en la práctica...

"¿Y para el tercero, por ejemplo? Ninguno de los dos desciende del otro..."
Claro que sí, todo desciende de _M, así que no hay ningún problema (H a través de $G, B, _Q)
0
Carnelune Mensajes publicados 5 Estado Membre
 
¡Gracias de nuevo, todo tiene mucho más sentido explicado así de manera sencilla!
0