Autor Tema: Asignación de igualdad en Java. Diferencia entre igualdad e identidad. CU00663B  (Leído 2623 veces)

macarena2405

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 36
    • Ver Perfil
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?

No estoy segura, estuve creando las clases, asignandole los valores al compilar me dice que copiloto1 es inalcanzable no se si esto es lo que debia hacerse pero es asi lo que hice
 
Código: [Seleccionar]
public class Persona
{
   private String nombre;
   private String apellido;
   private String especialidadAvion;
   private int añosExperiencia;
   
   public Persona(){
       nombre="";
       apellido="";
       especialidadAvion="";
       añosExperiencia=0;
       
    }
    public void setNombre (String valorNombre){
        nombre=valorNombre;
    }
    public void setApellido (String valorApellido){
        apellido=valorApellido;
    }
    public void setEspecialidadAvion( String valorEspecialidad){
        especialidadAvion=valorEspecialidad;
    }
    public void setAñosExperiencia (int valorAñosExperiencia){
        añosExperiencia=valorAñosExperiencia;
    }
   
    public String getNombre() {
        return nombre;}
    public String getApellido(){
        return apellido;
    }
    public String getEspecialidad (){
        return especialidadAvion;
    }
    public int getAñosExperiencia (){
        return añosExperiencia;}
    }
   

y para la Tripulacion
Código: [Seleccionar]
public class TripulacionAvion
{
    private String nombre;
    private String apellido;
    private String especialidadAvion;
    private String añosExperiencia;
    Persona piloto1;
     Persona copiloto1;
     Persona copiloto2;
    public TripulacionAvion (){
 
   
        piloto1=new Persona ();
        copiloto1=new Persona ();
        copiloto2=new Persona ();   
    }
    public Persona getPilotos(){
       piloto1=copiloto1;
       copiloto1=copiloto2;
       return piloto1;
       return copiloto1;
       return 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 entiendo la pregunta.

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

No entiendo.
« Última modificación: 04 de Junio 2015, 23:35 por Alex Rodríguez »

Lorenzo31

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 381
    • Ver Perfil
Bueno basicamente no has respondido ninguna entonces :)  Te ayudo con la primera, que es la que has practicado, lo que te plantea el ejercicio, teniendo una clase Persona, que has creado correctamente.

Te indican, si podría ser posible que en la clase TripulacionAvion (que nos da lo mismo que atributos tenga y constructores etc.. es teorico) pero te da la siguiente información;

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.

Las tres instancias son de la clase Persona, y te dice podría en algun momento los tres piloto, copiloto1,copiloto2 apuntar a la misma instancia?

Yo te digo que sí sería posible de la siguiente forma, imaginate el siguiente constructor en TripulacionAvion:

public TripulacionAvion(){
piloto = new Persona();
copiloto1 = piloto;
copiloto2 = piloto;
}

Aquí piloto, que esta declarado como persona, se inicializa como new Persona()  y una vez creado, a copiloto1 (Persona) se le asigna piloto, es decir apunta a la informacion de piloto (que tambien es Persona) y lo mismo para copiloto2.

Espero haberte ayudado un poco, tu clase TripulacionAvion le sobrarian los atributos que ya tiene Persona.

 private String nombre;
    private String apellido;
    private String especialidadAvion;
    private String añosExperiencia;

Y el error que comentas de inalcanzable es debido a que le devuelves 3 return a la función, cuando solo puedes darle 1, esta esperando que devuelvas 1 PErsona, y lo haces con return piloto; el resto de returns ya no los usa ;)
« Última modificación: 03 de Junio 2015, 12:05 por Lorenzo31 »

 

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