Autor Tema: Java Ejercicio resuelto Usar super: invocar métodos de superclases CU00692B  (Leído 3189 veces)

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Hola aquí les dejo la resolución de mi ejercicio.

El ejercicio pedía:

Citar
Considera que estás desarrollando un programa Java donde trabajas con la superclase Profesor y la subclase ProfesorEmerito. Crea el código para estas clases que cumpla los requisitos que indicamos.

Como atributos de la superclase tendremos nombre (String), edad (int) y añosConsolidados (int). Un método de la superclase será double obtenerSalarioBase () que obtendrá el salario base como (725 + el número de años consolidados multiplicado por 33.25).
En la subclase se trabajará con el campo adicional añosEmerito. Queremos hacer lo siguiente: sobreescribir el método obtenerSalarioBase () en la subclase para calcular el salario base del profesor emérito invocando mediante la palabra clave super al cálculo del salario base de Profesor y añadiéndole la cantidad de (47.80 * añosEmerito).

clase Profesor
Código: [Seleccionar]
public class Profesor{
    private String nombre;
    private int edad;
    private int annosConsolidados;
    public Profesor(){
        nombre = "";
        edad = 0;
        annosConsolidados = 0;
    }
    public Profesor(String nombre, int edad, int annosConsolidados){
        this.nombre =  nombre;
        this.edad = edad;
        this.annosConsolidados = annosConsolidados;
    }
    public void setNombre (String nombre){ this.nombre = nombre; }
    public void setEdad (int edad){ this.edad = edad; }
    public void setAnnosConsolidado (int annosConsolidados){ this.annosConsolidados = annosConsolidados; }
    public String getNombre(){ return nombre; }
    public int getEdad(){ return edad; }
    public int getAnnosConsolidados(){ return annosConsolidados; }
    public void mostrarDatos(){
        System.out.println("---------------------------------");
        System.out.println("Nombre: " + nombre + "\nEdad: " + edad + "\nAños Consolidados: " + annosConsolidados);
    }
    public double obtenerSalarioBase(){
        return (725 + annosConsolidados)*33.25;
    }
}

clase ProfesorEmerito
Código: [Seleccionar]
public class ProfesorEmerito extends Profesor{
    private int annosEmerito;
    public ProfesorEmerito(){
        super();
        annosEmerito = 0;
    }
    public ProfesorEmerito(String nombre, int edad, int annosConsolidados, int annosEmerito){
        super(nombre, edad, annosConsolidados);
        this.annosEmerito = annosEmerito;
    }
    public void setAnnosEmerito(int annosEmerito){ this.annosEmerito= annosEmerito; }
    public int getAnnosEmerito(){ return annosEmerito; }
    public void mostrarDatos(){
        super.mostrarDatos();
        System.out.println("Años como Emerito: " + annosEmerito);
    }
    public double obtenerSalarioBase(){
        return (super.obtenerSalarioBase() + (47.80 * annosEmerito));
    }
}

clase TestProfesor
Código: [Seleccionar]
public class TestProfesor{
    public static void main(){
        Profesor profesorEmerito1 = new ProfesorEmerito("Pedro", 33, 22, 15);
        Profesor profesorEmerito2 = new ProfesorEmerito("Juan", 66, 44, 27);
        profesorEmerito1.mostrarDatos();
        System.out.println("Sueldo anual: " + profesorEmerito1.obtenerSalarioBase());
        profesorEmerito2.mostrarDatos();
        System.out.println("Sueldo anual: " + profesorEmerito2.obtenerSalarioBase());
    }
}
« Última modificación: 24 de Julio 2015, 22:21 por Mario R. Rancel »

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Hola Pedro has cumplido perfectamente con lo que pedía el ejercicio, mi enhorabuena.

Saludos

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
gracias por tu tiempo y los ánimos

 

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