Autor Tema: Java super métodos superclases subclases variantes del mismo código CU00692B  (Leído 122 veces)

@mayakoski

  • Sin experiencia
  • *
  • Mensajes: 25
    • Ver Perfil
Dejo mi respuesta al ejercicio CU00692B del curso básico de programación lenguaje Java, saludos

Código: [Seleccionar]
package claseCU00692B;

public class Profesor {
private String nombre;
private int edad;
private int aniosConsolidados;

public Profesor() {

}

public Profesor(String pNombre, int pEdad, int pAniosConsolidados) {
setNombre(pNombre);
setEdad(pEdad);
setAniosConsolidados(pAniosConsolidados);
}

public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
public int getAniosConsolidados() {
return aniosConsolidados;
}
public void setAniosConsolidados(int aniosConsolidados) {
this.aniosConsolidados = aniosConsolidados;
}

public double obtenerSalarioBase() {
return (725 + this.getAniosConsolidados()*33.25);
}
}

Código: [Seleccionar]
package claseCU00692B;

public class ProfesorEmerito extends Profesor{

private int añosEmerito;

public ProfesorEmerito() {
super();
}

public ProfesorEmerito(String pNombre, int pEdad, int pAniosConsolidados, int pAniosEmerito) {
super(pNombre,pEdad,pAniosConsolidados);
setAñosEmerito(pAniosEmerito);

}


public int getAñosEmerito() {
return añosEmerito;
}

public void setAñosEmerito(int añosEmerito) {
this.añosEmerito = añosEmerito;
}

@Override
public double obtenerSalarioBase() {
return super.obtenerSalarioBase() + (47.80 * this.getAñosEmerito());
}

}

Código: [Seleccionar]
package claseCU00692B;

public class TestClaseCU00692B {

public static void main(String[] args) {

Profesor p1 = new ProfesorEmerito("Juan", 33, 10, 5);

System.out.println("El salario base del profesor es: " + p1.obtenerSalarioBase());

}

}
« última modificación: 31 de Octubre 2019, 22:00 de Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2039
    • Ver Perfil
Hola, veo el ejercicio muy bien resuelto. Si te fijas en la solución variante planteada en https://aprenderaprogramar.com/foros/index.php?topic=2425.0 hay pequeñas diferencias: en tu solución el constructor invoca métodos, en la solución variante no. En tu código el método obtenerSalarioBase invoca un método get para recuperar el valor del atributo, mientras que en la solución variante hace uso directo del atributo. Para mí ambas soluciones son correctas, y estos detalles podríamos decir que son pequeños detalles de los estilos de programación de cada persona, saludos

@mayakoski

  • Sin experiencia
  • *
  • Mensajes: 25
    • Ver Perfil
Muchas gracias por el tiempo dedicado a revisar mi ejercicio, valoro mucho tus observaciones

Saludos

 

Esto es un laboratorio de ideas...
Aprender a programar

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