Autor Tema: Java invocar métodos de superclases desde subclases. Ejercicio CU00692B resuelto  (Leído 2988 veces)

adrit

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

Dejo mi resolución para el ejercicio CU00692B

Código: [Seleccionar]
public class Profesor {
    private String nombre;
    private int edad;
    private int aniosConsolidados;
    public Profesor() { nombre = ""; edad = 0; aniosConsolidados = 0; }
    public Profesor (String nombre, int edad, int aniosConsolidados) {
        this.nombre = nombre;
        this.edad = edad;
        this.aniosConsolidados = aniosConsolidados;
    }
    public void setNombre(String nombre) { this.nombre=nombre;  }
    public void setEdad(int edad) { this.edad=edad;  }
    public void setAniosConsolidados (int aniosConsolidados) { this.aniosConsolidados=aniosConsolidados;  }
    public String getNombre() { return nombre;  }
    public int getAniosConsolidados () { return aniosConsolidados;  }
    public int getEdad() { return edad;  }
    public double obtenerSalarioBase () { return 725+aniosConsolidados*33.25; }
    public void mostrarDatos() {
        System.out.print("\nNombre : "+getNombre()+"\nEdad : "+getEdad()+
        "\nAños consolidados : "+getAniosConsolidados());
    }
}

Código: [Seleccionar]
public class ProfesorEmerito extends Profesor{
    private int aniosEmerito;
   
    public ProfesorEmerito (String nombre, int edad, int aniosConsolidados, int aniosEmerito){
        super(nombre, edad, aniosConsolidados);
        this.aniosEmerito=aniosEmerito;
    }
    public void setAniosEmerito(int aniosEmerito){
        this.aniosEmerito=aniosEmerito;
    }
    public int getAniosEmerito() { return aniosEmerito; }
    public double obtenerSalarioBase () {
        return super.obtenerSalarioBase()+47.80 * aniosEmerito;
    }     
}

Código: [Seleccionar]
public class Test {

    public static void main (String[] args) {
    ProfesorEmerito emerito1 = new ProfesorEmerito("Roberto Perez", 35, 20, 5);
    emerito1.mostrarDatos();
    System.out.println("\nSalario Base :"+emerito1.obtenerSalarioBase ());
    }
}

Gracias!!!

« Última modificación: 04 de Agosto 2015, 18:36 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola adrit, todo bien

Recordar que puedes hacer uso del polimorfismo de Java si usas declaraciones con tipo estático el de superclase y tipo dinámico el de subclase, por ejemplo

Código: [Seleccionar]
Profesor emerito1 = new ProfesorEmerito("Roberto Perez", 35, 20, 5);
Tipo estático = Profesor
Tipo dinámico = ProfesorEmerito

Saludos

adrit

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 59
    • Ver Perfil
De acuerdo Alex!

Gracias por la devolución.

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