lunes, 9 de abril de 2012

Casteo

Puedo crear un tipo padre instanciando los constructores de las clases hijas que heredan de la misma clase.
Ejemplo A es clase padre y B,C heredan de A

Se permite:
A a = new A();
A ab = new B(); //ref de tipo A pero invocando el constructor de B
A ac = new C();

Aquí cuando llamo un constructor es para crear una instancia.

El casteo es cuando se quiere manejar una ref que representa muchos tipos y se quiere manejar una sola referencia de manera especializada, es decir, se saca y se trabaja diferente

casteo ej:

B be = (B) ab; // saco la parte de B del elemento ab y se lo asigno a be, la parte que tengo de A no queda asociada con be.

Lo puedo hacer porque tengo un tipo A que se crea con un constructor tibo B; con el casteo puedo sacar la parte de B


Se expresa "es" cuando hay relación de herencia, por ej un cliente es una persona.
Se expresa "tiene" cuando existe instanciación de una clase en otra, por ej cuando un cliente está asociado a un vuelo


cuando una clase implementa otra, necesariamente debe hacer una sobre escritura de sus métodos


Correo docente: jfgutierez@gmail.com

1 comentario:

  1. Hola Seba, yo agregaría mas información referido al casteo implicito y explicito te dejo un link a un post que agregue referido a esto.
    http://java-white-box.blogspot.com.ar/2013/12/javaplayer-casteos-en-java-casteo.html

    Saludos

    ResponderEliminar