Asignación de igualdad en Java. Referencias a objetos. Diferencia entre igualdad e identidad. Ejercicio CU00663B del curso bases de programación Java.
EJERCICIO
Considera una clase Java que se denomina TripulacionAvion y que tiene como atributos a tres objetos de tipo Persona: Persona piloto; Persona copiloto1; Persona copiloto2.
a) ¿Sería posible que al crear un objeto TripulacionAvion se produjera que piloto, copiloto1 y copiloto2 apuntaran a un mismo objeto, es decir, que existiera una relación de identidad entre los tres atributos?
b) ¿Existiría relación de identidad cuando creemos un objeto TripulacionAvion entre los tres atributos si no se inicializaran en el constructor?
c) ¿Cuál sería el contenido de los atributos si no se inicializan en el constructor y creamos un objeto de tipo TripulacionAvion?
Respuestas
a) Si, Depende del constructor, si el constructor es por defecto los tres atributos que
son objetos apunatarian a null, y habria identidad. O si el constructor tuviera por
parametro un objeto persona que se le pasaria a los tres objetos, tambien habria
identidad.
//Aqui tengo una duda: null es un objeto?.
b) Si, porque el objeto TripulacionAvion se crearía con el constructor por defecto y este
inicializaria los atributos con el valor null.
//Con respecto a esta pregunta y a la c), pensé que todo objeto al ser creado es
//inicializado por el constructor, ya sea definido por el programador o por defecto.
//Digo esto porque la pregunta b dice: b) ¿Existiría relación de identidad cuando creemos
//un objeto TripulacionAvion entre los tres atributos si no se inicializaran en el
//constructor?
c) El contenido de los atributos seria null, ya que se inicializarian con el constructor
por defecto.