Título: ¿Herencia? Publicado por: Proteus1989 en 3 Junio 2012, 14:58 pm El otro día me dio por pensarlo y desde entonces no he logrado nada.
Todos sabemos que podemos hacer una llamada a un constructor y en la misma instanciación modificar uno o más métodos. Algo así: Código
Creo que esto está permitido gracias a la herencia de Java, ya que la variable nota tiene que estar protegida y no ser privada para poder hacer uso de ella. Resumiendo creo que con eso estamos haciendo un extends de Nota y guardandolo en una declaración Nota. El dilema que me surge a mi es que pasa si en lugar de @Override yo añado un método nuevo que no pertenece a la clase nota Es decir: Código
El compilador me deja hacerlo sin embargo Nota no sabe que ese método existe y por tanto nunca se podrá hacer uso de él. Y mi pregunta es, si no puede ser llamado nunca ¿porque te deja crearlo? Título: Re: ¿Herencia? Publicado por: Gallu en 3 Junio 2012, 20:48 pm Estás seguro que no lo puedes llamar ?
Código
Título: Re: ¿Herencia? Publicado por: Proteus1989 en 3 Junio 2012, 21:17 pm Pero tu haces trampa xD
Tu lo declaras y lo usas sin guardarlo en una variable. Yo al guardarlo en una variable pierde las propiedades nuevas. Para que me entiendas Código
Si tu guardas un objeto que extiende de otro en una variable del tipo no extendido no puedes hacer uso de los métodos de la extendida. Es decir Código
Viendo lo que has escrito el único razonamiento lógico que veo es el poder extender rápidamente de una clase que necesitas una sola vez y que inmediatamente va a desaparecer. Título: Re: ¿Herencia? Publicado por: Gallu en 3 Junio 2012, 22:32 pm He respondido a la pregunta que planteaste
"Y mi pregunta es, si no puede ser llamado nunca ¿porque te deja crearlo?" Son clases anónimas , entre otras cosas sirven para la gestión de eventos. http://es.scribd.com/walter_ortiz_9/d/50787986/33-Clases-anonimas-en-la-gestion-de-eventos Lo que comentas está ligado al polimorfismo más que a la herencia . Título: Re: ¿Herencia? Publicado por: Proteus1989 en 3 Junio 2012, 23:14 pm Pues eso digo, que lo único plausible es hacerlo de la forma que has puesto tu anteriormente.
Y cierto, es polimorfismo. Pues nada, duda solucionada. Gracias tío. |