Funcionario
public class Funcionario {
private String nombre;
private String documento;
private double salario;
private int tipo;
public Funcionario() {
}
public int getTipo() {
return tipo;
}
public void setTipo(int tipo) {
this.tipo = tipo;
}
public String getNombre() {
return this.nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getDocumento() {
return this.documento;
}
public void setDocumento(String documento) {
this.documento = documento;
}
public double getSalario() {
return this.salario;
}
public void setSalario(double salario) {
this.salario = salario;
}
public double getBonificacion() {
//tipo=0; es funcionario
//tipo=1; es gerente
if(this.tipo==0) {
return this.salario*0.1;
}else if(this.tipo==1) {
return this.salario*1;
}else {
return 0;
}
}
}
Clase gerente con herencia de Funcionario
public class Gerente extends Funcionario{ //Herencia: en este caso el gerente ha heredado los atributos y metodos de funcionario
private String clave;
public void setClave(String clave) {
this.clave = clave;
}
public String getClave() {
return this.clave;
}
public boolean iniciarSesion() {
return this.clave=="Alura123"; // Retorna un True or False
}
}
TestGerente prueba herencia
public class TestGerente {
public static void main(String[] args) {
Gerente andres=new Gerente();
andres.setNombre("Andres");
andres.setDocumento("asda12312");
andres.setSalario(5000);
andres.setClave("Alura123");
System.out.println("Nombre: "+andres.getNombre());
System.out.println("Documento: "+andres.getDocumento());
System.out.println("Salario: "+andres.getSalario());
System.out.println("Bonificacion: "+andres.getBonificacion());
System.out.println("Sesion: "+andres.iniciarSesion());
}
}
Resultado: