Autor Tema: Contenido inicial null de objetos no inicializados en Java (CU00663B)  (Leído 2964 veces)

pablsky

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Holas queridos compas developers, aqui dejo mi ejercicio n° 63 de Java desde 0.
Espero que si puedan llegar a ver algo que esta mal me den aviso asi me doy cuenta y hago lo necesario para que no vuelva a suceder.

El ejercicio decia asi:

Citar
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?

Mi codigo es el siguiente:

Código: [Seleccionar]
/****************************************************************************************/
package com.Aeropuerto;
import com.Aeropuesto.Persona;
/**
*
*@Author: Pablsky
* Example N° 63
* Class TripulacionAvion
*/
public class TripulacionAvion{
private Persona piloto;
private Persona copiloto1;
private Persona copiloto2;

public TripulacionAvion(){}
public TripulacionAvion(Persona piloto, Persona copiloto1, Persona copiloto2){
this.piloto = piloto;
this.copiloto1 = copiloto1;
this.copiloto2 = copiloto2;
}
public void setPiloto(Persona piloto){
this.piloto = piloto;
}
public void setCopiloto1(Persona copiloto1){
this.copiloto1 = copiloto1;
}
public void setCopiloto2(Persona copiloto2){
this.copiloto2 = copiloto2;
}
public Persona getPiloto(){
return piloto;
}
public Persona getCopiloto1(){
return copiloto1;
}
public Persona getCopiloto2(){
return copiloto2;
}
}

Código: [Seleccionar]
/****************************************************************************************/
package com.Aeropuerto;
/**
*
*@Author: Pablsky
* Example N° 63
* Class Persona
*/
public class Persona{
private Strint nombre;
private String apellido;
private int edad;
private boolean especialidad;

public Persona(){}
public Persona(String nombre, String apellido, int edad, boolean especialidad){
this.nombre = nombre;
this.apellido = apellido;
this.edad = edad;
this.especialidad = especialidad;
}
public void setNombre(String nombre){
this.nombre = nombre;
}
public String getNombre(){
return nombre;
}
public void setApellido(String apellido){
this.apellido = apellido;
}
public String getApellido(){
return apellido;
}
public void setEdad(int edad){
this.edad = edad;
}
public int getEdad(){
return edad;
}
public void setEspecialialidad(boolean especialidad){
this.especialidad = especialidad;
}
public boolean getEspecialidad(){
return especialidad;
}
}
/****************************************************************************************/

Código: [Seleccionar]
/****************************************************************************************/
package com.Aeropuerto;
import com.Aeropuesto.Persona;
import com.Aeropuesto.TripulacionAvion;
/**
*
*@Author: Pablsky
* Example N° 63
* Class Test
*/
public class Test{
public static void main(String[] args){

// PERSONAS QUE VAN A TRIPULAR EL AVION
Persona piloto = new Persona();
Persona copiloto1 = new Persona();
persona copiloto2 = new Persona();
// TRES DIFERENTES REFERENCIA A OBJETOS APUNTAN A UN MISMO OBJETO
//OBJETO TRIPULACIONAVION CON SUS TRIPULANTES
TripulacionAvion tripulacionOne = new TripulacionAvion(piloto,copiloto1,copiloto2);
}
}

Y mis respuestas a las preguntas son:
 
¿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?

1) Si al crear un objeto TripulacionAvion se produce que piloto, copiloto1, copiloto2 apuntan al mismo objeto TripulacionAvion, es decir, existe una relación de identidad entre los tres atributos.

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

2) Si, siempre en cuando los tres atributos piloto, copiloto1, copiloto2 sean setteados con sus metodos al objeto TripulacionAvion.

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

3) El contenido de los atributos de un objeto de tipo TribulacionAvion, si no se inicializan en el constructor, son nullas, es decir devolvera referencia null.

Bueno esto lo hice en note++, sin poder compilar y ejecutarlo.
Por eso espero que me puedan corregir si algo esta mal.
Igual de todos modos yo mismo lo voy a probar cuando tenga disponibilidad en mi casa ya que me encuentro en el trabajo.

Saludos y muchas gracias por sus aportes!!
« Última modificación: 02 de Mayo 2015, 11:44 por Alex Rodríguez »

Dan_SB

  • Avanzado
  • ****
  • Mensajes: 273
  • *<DanielsCK>*
    • Ver Perfil
Re:Ejercicio N° 63 (CU00663B) Java desde 0
« Respuesta #1 en: 30 de Abril 2015, 20:44 »
Hola pablsky!!

La pregunta 1 esta bien respondida.

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

Si existiría aunque no se inicializaran, porque existe una relacion identidad en null, ya que si no inicializamos los 3 objetos, los 3 apuntan a null.

La ultima pregunta tambien esta bien contestada, objeto vacio, objeto null.

Deberias leerte aqui los detalles para llenar la segunda respuesta:
https://www.aprenderaprogramar.com/foros/index.php?topic=1964

Salu2!
"Luchar por tus sueños y cumplirlos... eso es vivir.."

pablsky

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Re:Ejercicio N° 63 (CU00663B) Java desde 0
« Respuesta #2 en: 30 de Abril 2015, 22:54 »
Muchas gracias,

Pude aclarar las ideas ahora.

Entonces la respuesta de la pregunta 2 es que si, tiene relación de identidad, porque no se inicializaron los 3 atributos en el constructor y quedan en estado null los tres atributos.
Misma identidad null.

 

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