Autor Tema: CU00663B equals diferencias igualdad identidad java referencias objetos  (Leído 2583 veces)

Jarper

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 20
    • Ver Perfil
Buentas tardes,

Disculpad las molestias de estar poniendo siempre preguntas y respuestas.
Sólo quiero asegurarme que algun profesional me corrija si estoy equivocado.

Ante todo, muchas gracias.

 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?
Sólo sería posible si en el constructor de TripulacionAvion estuviera definido para ello, por ejemplo:
Código: [Seleccionar]
public class TripulacionAvion{

private Persona piloto;
private Persona copiloto1;
private Persona copiloto2;

public TripulacionAvion(){
piloto = new Persona();
copiloto1 = new Persona();
copiloto2 = new Persona();
copiloto1 = piloto;
copiloto2 = piloto;
}
}
Con esto una vez creados como Persona piloto, copiloto1 y copiloto2, asignamos el puntero de piloto a copiloto1 y copiloto2

b) ¿Existiría relación de identidad cuando creemos un objeto TripulacionAvion entre los tres atributos si no se inicializaran en el constructor?
No podría existir relación de identidad ya que un objeto que contiene atributos sin inicializar sólo es un puntero a una posición de memoria.

c) ¿Cuál sería el contenido de los atributos si no se inicializan en el constructor y creamos un objeto de tipo TripulacionAvion?
Sería null.

Muchas gracias, atentamente.



      

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Hola Jarper

Respuesta a) Tu solución es correcta, todos los atributos apuntan al mismo objeto.

Respuesta b) Cierto, no existe relación de identidad. Aunque los atributos tengan el mismo valor 'null' esa no es una verdadera relación de identidad.

Respuesta c) Correcto, si 'null'

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".