Herencia multiple en Java

Recuerden que las Interfaces SI soportan herencia multiple.


public interface Parent1 {
public String metodo1();
}

public interface Parent2 {
public String metodo2();
}

public interface Child extends Parent1, Parent2 {
}

Esto funciona correctamente aunque hay que tener ciertas precauciones. La interfaz Child puede extender dos (o mas) interfaces siempre y cuando no haya conflictos entre los metodos declarados en ellas. Si Parent1 hubiera tenido un metodo public void metodo() y Parent2 un metodo public int metodo() un error de compilacion nos indicaria que Parent1 y Parent2 son interfaces incompatibles pues no se puede sobrecargar un metodo unicamente por el tipo de retorno.
Algo parecido sucede con las constantes. Si las interfaces Parent1 y Parent2 poseen una constante VALOR del mismo tipo aparecen conflictos para acceder a estos valores desde la clase que implemente Child, por ejemplo ImpChild, si tratamos de acceder a la constante usando Child.VALOR o ImpChild.VALOR. En este caso deberiamos indicarle exactamente que constante queremos, si VALOR de Parent1 o VALOR de Parent2.

Como dicen por ahí: Curioso pero inútil :)

No hay comentarios »

RSS feed de los comentarios de este post. TrackBack URI

Comentar

Captcha
Enter the letters you see above.

Entradas y comentarios feeds. 19 queries. 0.433 seconds.

57431 pages viewed, 106 today
27373 visits, 27 today
FireStats icon Powered by FireStats