Autor Tema: Qué significa super en Java: invocar métodos de superclases Ejercicio CU00692B  (Leído 3145 veces)

fedegaray

  • Principiante
  • **
  • Mensajes: 81
    • Ver Perfil
Hola otra vez! Vine a resolver el ejercicio de la entrega 92. Aquí vamos

Clase Profesor
Código: [Seleccionar]
public class Profesor {
    private String nombre;
    private int edad;
    private int añosConsolidados;
   
    public Profesor () {
        nombre = "";
        edad = 0;
        añosConsolidados = 0;
    }
   
    public Profesor (String nombre, int edad, int añosConsolidados) {
        this.nombre = nombre;
        this.edad = edad;
        this.añosConsolidados = añosConsolidados;
    }
   
    public void setNombre (String nombre) {
        this.nombre = nombre;
    }
   
    public void setEdad (int edad) {
        this.edad = edad;
    }
   
    public void setAñosConsolidados (int añosConsolidados) {
        this.añosConsolidados = añosConsolidados;
    }
   
    public String getNombre () {
        return nombre;
    }
   
    public int getEdad () {
        return edad;
    }
   
    public int añosConsolidados () {
        return añosConsolidados;
    }
   
    public double obtenerSalarioBase () {
        double salarioBase = 725 + (añosConsolidados*33.25);
        return salarioBase;
    }
}


Clase ProfesoEmerito
Código: [Seleccionar]
public class ProfesorEmerito extends Profesor {
    private int añosEmerito;
   
    public ProfesorEmerito () {
        super ();
        añosEmerito = 0;
    }
   
    public ProfesorEmerito (String nombre, int edad, int añosConsolidados, int añosEmerito) {
        super (nombre, edad, añosConsolidados);
        this.añosEmerito = añosEmerito;
    }
   
    public void setAñosEmerito (int añosEmerito) {
        this.añosEmerito = añosEmerito;
    }
   
    public int getAñosEmerito () {
        return añosEmerito;
    }
   
    public double obtenerSalarioBase () {
        double salarioEmerito = super.obtenerSalarioBase() + (añosEmerito*47.80);
        return salarioEmerito;
    }
}


Clase TestEmerito
Código: [Seleccionar]
import java.util.Scanner;

public class TestEmerito {
    public static void main (String [] args) {
        System.out.println ("\f");
        ProfesorEmerito profe1 = new ProfesorEmerito ("Alberto López", 53, 32, 12);
        System.out.println ("El salario del profesor emérito " + profe1.getNombre() + " es de " + profe1.obtenerSalarioBase() + " pesos mensuales.");
    }
}
« Última modificación: 01 de Mayo 2015, 09:04 por Alex Rodríguez »

Dan_SB

  • Avanzado
  • ****
  • Mensajes: 273
  • *<DanielsCK>*
    • Ver Perfil
Hola fede!

Tu ejercicio es correcto! bien hecho!

Te comento un pequeño truco por cierto, que ocurriría si escribes esta parte del código así? (pruebe a ver...):

Clase Profesor:
Código: [Seleccionar]
public double obtenerSalarioBase(){return 725 + (añosConsolidados * 33.25);}
Clase ProfesorEmerito:
Código: [Seleccionar]
public double obtenerSalarioBase(){return super.obtenerSalarioBase() + (47.80* getAñosEmerito());}
Vas a ver que funcionara igual! y no es necesario invocar variables double
Saludos!
"Luchar por tus sueños y cumplirlos... eso es vivir.."

fedegaray

  • Principiante
  • **
  • Mensajes: 81
    • Ver Perfil
Pero claro! Se me pasó por alto esa síntesis! gracias por ayudarme a verlo!

 

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