Olá! Fiz duas interfaces - uma para definir um sistema de bonificação e a outra para definir o sistema de salários.
Optei por interfaces já que gostaria de treinar essa possibilidade - além do mais não queria deixar a cargo da classe "funcionário" uma função que não faz muito sentido com sua sintaxe.
O problema surge quando vou imprimir o salário dos meus funcionários:
public class teste {
public static void main(String[] args) {
Gerente brenoVale = new Gerente ();
System.out.println(brenoVale.getSalario());
}
}
O resultado acaba por ser = 0.0
Segue abaixo minhas duas interfaces, minha classe Funcionário e também minha classe Gerente.
Sistema de Bonificação (interface)
public abstract interface SistemaDeBonificacao {
public double bonificacao ();
}
Sistema de Salários (interface)
public abstract interface SistemaDeSalarios {
public double salario ();
}
Classe Funcionário
public abstract class Funcionario extends FuncoesBancarias{
private String cpf;
private String nome;
private String cargo;
private String endereco;
private String telefone;
private double salario;
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCargo() {
return cargo;
}
public void setCargo(String cargo) {
this.cargo = cargo;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public double getSalario() {
return salario;
}
}
E minha classe Gerente:
public class Gerente extends Funcionario implements SistemaDeSalarios,
SistemaDeBonificacao {
public double salario () {
return super.getSalario() + 9000;
}
public double bonificacao () {
return super.getSalario() * 1;
}
}
Por qual razão, nessas condições, o resultado é zero?
Qual deveria ser meu código para o resultador ser os 9.000 desejados?
Grato desde já!