Autor Tema: Java ¿existe identidad entre dos objetos que contienen null? CU00663B  (Leído 3257 veces)

adrit

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 59
    • Ver Perfil
Hola!!

Pongo mis respuestas para el ejercicio CU00663B, 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?

Respuesta: Si, podríamos asignar a los 3 objetos  un mismo espacio de memoria, es decir, un mismo objeto.


b) ¿Existiría relación de identidad cuando creemos un objeto TripulacionAvion entre los tres atributos si no se inicializaran en el constructor?

Resp: Podría, porque son objetos que ya fueron creados.


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

Resp: Dependerá de los atributos con los que fueron creados anteriormente.


« Última modificación: 16 de Julio 2015, 14:09 por Alex Rodríguez »

adrit

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 59
    • Ver Perfil
Re:Ejercicio Diferencia entre igualdad e identidad. (CU00663B) Resuelto
« Respuesta #1 en: 13 de Julio 2015, 21:15 »

Hola, voy a hacer una corrección a mis respuestas.

b) Al momento de crear el objeto, sino inicializamos los atributos en el constructor no habría  relación de identidad entre los 3 atributos.

c) Serian 3 objetos distintos.

Gracias!


RaGa

  • Moderador Global
  • Intermedio
  • *******
  • APR2.COM
  • Mensajes: 234
    • Ver Perfil
Re:Ejercicio Diferencia entre igualdad e identidad. (CU00663B) Resuelto
« Respuesta #2 en: 14 de Julio 2015, 20:27 »
Respuesta (a) Correcta!

Respuesta (b) Te transcribo lo que escribió el Moderador César Krall al respecto que considero está muy bien analizado.

Citar
Podemos decir que existe una identidad en null (situación especial). Conviene tener cuidado con esta respuesta.

null significa alguna de estas cosas: objeto declarado pero no inicializado, condición de terminación de una serie de objetos, el objeto no existe, el objeto no tiene un contenido definido, el contenido del objeto ha sido eliminado explícitamente estableciéndose a null.

En Java se cumple lo siguiente: null == null (en otros lenguajes no es así).

Por tanto si no se han inicializado piloto == copiloto1 resulta true y copiloto1 == copiloto2 también es true, y si consideramos que toda comparación con == que devuelve true implica una relación de identidad, sí habría relación de identidad. La identidad consistiría en "los tres objetos son el mismo objeto: null".

Hay que considerar null una situación especial de un objeto.

Respuesta (c) no es correcta.
Por lo mismo que comentábamos en la respuesta anterior. Si se crea el objeto pero no se inicializan sus atributos, los atributos contendrán null.

adrit

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 59
    • Ver Perfil
Re:Ejercicio Diferencia entre igualdad e identidad. (CU00663B) Resuelto
« Respuesta #3 en: 15 de Julio 2015, 12:53 »
Muy claro!

Gracias!

 

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".