Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

[Duda] Mismo resultado 10% getBonificacion Funcionario y Gerente

Hola, he revisado y seguido los pasos de los videos, sin embargo el resultado no es igual al del instructor, será que hay algo que no este considerando? gracias por la asistencia.

package byteBankHeredado;

public class TestGerente {

    public static void main(String[] args) {
        Gerente gerente = new Gerente();
        //gerente.setSalario(5000);

        //Funcionario gerente = new Funcionario();
        gerente.setSalario(6000);
        gerente.setClase("AluraCursosOnline");
        gerente.setTipo(1);

        System.out.println(gerente.getBonificacion());
        System.out.println(gerente.iniciarSesion("AluraCursosOnline"));
    }


}
package byteBankHeredado;

public class Gerente extends Funcionario {

    private String clave;

    public void setClase (String clave) {
        this.clave = clave;

    }
    public boolean iniciarSesion (String clave) {
        return clave == "AluraCursosOnline";
    }

    public double getbonification (){

        return super.getSalario();
    }
}
package byteBankHeredado;

public class Funcionario {
    // los Atributos son
    private String nombre;
    private String documento;
    private double salario;
     private int tipo;  // para evitar duplicar codigo con los mismos atributos en la clase gerente con la clase funcionario
    // "Definiendo el constructor"
    public Funcionario() {
    } 
    // generando getters and setters de los Atributos
    public String getNombre() {
        return nombre;
    }
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    public String getDocumento() {
        return documento;
    }
    public void setDocumento(String documento) {
        this.documento = documento;
    }
    public double getSalario() {
        return salario;
    }
    public void setSalario(double salario) {
        this.salario = salario;
    }
    // getter and setter del tipo

 public int getTipo() {
     return tipo;
     }
 public void setTipo(int tipo) {
         this.tipo = tipo;
     }
    /*
     * El constructor es aquel método público que el tipo de dato o el tipo de
     * retorno de ese método es la clase en sí, estos se definiran arriba en el
     * codigo " Definiendo el constructor"
     */
    public double getBonificacion() {
            return this.salario * 0.1;
    }

}
1 respuesta
solución!

Hola revisando nuevamente el codigo encontre dos discrepancias en el metodo getBonificacion, una es que no estaba escrita como camelcase, y la otra es que debia haber asignado ese mismo metodo correspondiente al getBonificacion de la clase Gerente ( Hija) sino que habia usado el getBonificacion del padre, por lo que aplicaba un 10% del salario segun la sentencia, ver la siguiente imagen. asi que doy por cerrada esta pregunta. espero le sirva a otros estudiantes.

![](Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad )