1
Aprender a programar desde cero / Ejercicios Resueltos Java invocar métodos de superclases desde subClase CU00692B
« en: 08 de Diciembre 2020, 16:54 »
Buenas, aquí seguimos, desde ya muhas gracias a los que anteriormente se tomaron el tiempo de verificar mis soluciones presentadas.
Continuando con el curso y la llamada de un método de una superclase desde una subclase ... aquí dejo el código. Como siempre, "no me dejen pasar una" para seguir mejorando.
Algunos comentarios como
//declaracion de atributos
//constructores
//metodos
los sigo realizando aun para acostumbrarme a mantener un orden y en breve los estaria dejando de usar .aunque su uso en codigos mas complejos ayuda a la comprension del mismo
Código de la clase Profesor:
Código de la clase profesorEmerito
Como consulta añadida me gustaria que me indicaran si esta forma sería correcta tambien
Evitaría la declaracion de una variable local, pero entiendo que no en todos los casos
seria posible evitar la declaracion de la misma, ya sea por necesidad o por legilibilidad.
Continuando con el curso y la llamada de un método de una superclase desde una subclase ... aquí dejo el código. Como siempre, "no me dejen pasar una" para seguir mejorando.
Algunos comentarios como
//declaracion de atributos
//constructores
//metodos
los sigo realizando aun para acostumbrarme a mantener un orden y en breve los estaria dejando de usar .aunque su uso en codigos mas complejos ayuda a la comprension del mismo
Código de la clase Profesor:
Código: [Seleccionar]
package CU00692B;
/**
* Clase Profesor , una superclase que tiene como atributos los siguientes campos
* Nombre, edad y numero de años consolidados
*/
public class Profesor{
//declaracion de atributos
private String nombre;
private int edad;
private int añosConsolidados;
//Constructos
/**
* Constructor de la clase Profesor sin parametrizar
* todas sus variables se iniciaran por defecto en 0 y ""
*/
public Profesor(){
nombre="";
edad=0;
añosConsolidados=0;
}
/**
* Constructor de la clase Profesor parametrizada
* @param nombre Nombre del profesor
* @param edad Edad del profesor
* @param añosConsolidados Los años consolidados del profesor
*/
public Profesor(String nombre,int edad, int añosConsolidados){
this.nombre=nombre;
this.edad=edad;
this.añosConsolidados=añosConsolidados;
}
//metodos de la clase Profesor
/**
* setNombre Permite establecer o modificar el nombre del profesor
*/
public void setNombre(String nombre){
this.nombre=nombre;
}
/**
* setEdad Permite establecer o modificar la edad del profesor
*/
public void setEdad(int edad){
this.edad=edad;
}
/**
* setAñosConsolidados permite establecer o modificar los años consolidados
*/
public void setAñosConsolidados(int añosConsolidados){
this.añosConsolidados=añosConsolidados;
}
/**
* getNombre Devuelve el nombre del profesor
*/
public String getNombre(){
return nombre;
}
/**
* getEdad Devuelve la edad del profesor
*/
public int getEdad(){
return edad;
}
/**
* getAñosConsolidados devuelve los años consolidados del profesor
*/
public int getAñosConsolidados(){
return añosConsolidados;
}
/**
* obtenerSalarioBase Devuelve el valor del salario base del profesor
*/
public double obtenerSalarioBase(){
double salarioBase=(725 + (añosConsolidados*33.25));
return salarioBase;
}
}
Código de la clase profesorEmerito
Código: [Seleccionar]
package CU00692B;
/**
* Clase ProfesorEmerito,sub-tipo(sub-clase) de clase Profesor
* hereda todos sus atributos y añade un atributo especifico
*/
public class ProfesorEmerito extends Profesor{
//declaracion de atributos
private int añosEmerito;
//constructor
/**
* Constructor sin parametrizar , inicializa todos los valores por defecto en 0 y ""
*/
public ProfesorEmerito(){
super();
añosEmerito=0;
}
/**
* Constructor parametrizado de la clase ProfesorEmerito
* @param nombre Nombre del Profesor
* @param eda Edad del profesor
* @param añosConsolidados Años consolidados del profesor
* @param añosEmerito Años emeritos del profesor
*/
public ProfesorEmerito(String nombre,int edad,int añosConsolidados,int añosEmerito){
super(nombre,edad,añosConsolidados);
this.añosEmerito=añosEmerito;
}
//metodos
/**
* setAñosEmerito Permite establecer o modificar los años Emeritos del profesor
*/
public void setAñosEmerito(int añosEmerito){
this.añosEmerito=añosEmerito;
}
/**
* getAñosEmerito devuelve el valor de añosEmerito
*/
public int getAñosEmerito(){
return añosEmerito;
}
/**
* obtenerSalarioBase Devuelve el salario base mas un plus por años emerito
*/
public double obtenerSalarioBase(){
double salarioBase=(super.obtenerSalarioBase() + (47.80*añosEmerito));
return salarioBase;
}
}
Como consulta añadida me gustaria que me indicaran si esta forma sería correcta tambien
Código: [Seleccionar]
public double obtenerSalarioBase(){
return (super.obtenerSalarioBase() + (47.80*añosEmerito));
}
Evitaría la declaracion de una variable local, pero entiendo que no en todos los casos
seria posible evitar la declaracion de la misma, ya sea por necesidad o por legilibilidad.