Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/11/2013, 15:04
aldo_rengo
 
Fecha de Ingreso: febrero-2013
Ubicación: en mi casa
Mensajes: 541
Antigüedad: 11 años, 8 meses
Puntos: 3
duda asignacion objeto variable java

hola una consulta, tengo una duda, en una linea de este codigo...


es un ejemplo. que no entiendo en la linea donde esta.

" Profesor profesor73 = interino1; "


para empezar, tengo 2 clases diferentes, profesor y profesorinterino

pero que es lo que ocurre en esa linea..

por que no clono los objetos..

la variable apunta... al mismo objeto...


Código Java:
Ver original
  1. import java.util.Calendar;
  2.  
  3. //Test conversión de tipos. Ejemplo de código aprenderaprogramar.com
  4.  
  5. public class TestHerencia3 {
  6.  
  7.  
  8.  
  9.     public static void main (String [ ] Args) {
  10.  
  11.  
  12.  
  13.         Profesor profesor1 = new Profesor ("Juan", "Hernández García", 33);
  14.  
  15.         Calendar fecha1 = Calendar.getInstance();
  16.  
  17.         fecha1.set(2019,10,22); //Los meses van de 0 a 11, luego 10 representa noviembre
  18.  
  19.         ProfesorInterino interino1 = new ProfesorInterino("José Luis", "Morales Pérez", 54, fecha1);
  20.  
  21.  
  22.  
  23.         Profesor profesor73 = interino1; //Ahora el supertipo contiene un subtipo, en principio con pérdida de información
  24.  
  25.         if (profesor73 instanceof ProfesorInterino) {
  26.  
  27.             System.out.println ("***profesor73 es un objeto de tipo ProfesorInterino" );}
  28.  
  29.  
  30.  
  31.         if (profesor73 instanceof Profesor) { System.out.println ("profesor73 es un objeto de tipo Profesor ¡ES POLIMÓRFICO!" ); }
  32.  
  33.  
  34.  
  35.         if (interino1 instanceof Profesor) { System.out.println ("interino1 es un objeto de tipo Profesor ¡ES POLIMÓRFICO TAMBIÉN!" );
  36.  
  37.         } else { System.out.println ("interino1 no apunta a un objeto de tipo Profesor" ); }
  38.  
  39.  
  40.  
  41.         if (profesor1 instanceof ProfesorInterino) {
  42.  
  43.             System.out.println ("profesor1 es un objeto de tipo ProfesorInterino" );
  44.  
  45.         } else { System.out.println ("profesor1 no es un objeto de tipo ProfesorInterino. Nunca ha sido un interino." ); }
  46.  
  47.     } //Cierre del main
  48.  
  49. } //Cierre de la clase ejemplo aprenderaprogramar.com