Classe do Funcionário
public class Funcionario {
private String nome;
private String cargo;
private String endereco;
private String cpf;
private int numero;
private int agencia;
private double salario;
private double bonificacao;
public Funcionario(String nome, String cargo, String cpf, int numero, int agencia, double salario) {
this.nome = nome;
this.cargo = cargo;
this.cpf = cpf;
this.numero = numero;
this.agencia = agencia;
this.salario = salario;
System.out.println(getNome() + " cadastrado no sistema.");
return;
}
public double getBonificacao() {
return bonificacao;
}
public void setBonificacao(double bonificacao) {
this.bonificacao = bonificacao;
}
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 int getNumero() {
return numero;
}
public void setNumero(int numero) {
if (numero > 0) {
this.numero = numero;
}
System.out.println("Número Inválido.");
}
public void setAgencia(int agencia) {
if (agencia > 0) {
this.agencia = agencia;
}
System.out.println("Agência Inválida.");
}
public double getSalario() {
return salario;
}
public void setSalario(double salario) {
this.salario = salario;
}
}
Essa é a classe do Diretor Executivo
public class DiretorExecutivo extends Funcionario {
private double bonificação;
private String senha;
public DiretorExecutivo(String nome, String cargo, String cpf, int numero, int agencia, double salario) {
super(nome, cargo, cpf, numero, agencia, salario);
}
@Override
public double getBonificacao() {
return super.getSalario() * 1.15;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public boolean autentica(String senha) {
if (this.senha == senha) {
System.out.println("Você logou no sistema.");
return true;
}
System.out.println(" Senha Incorreta.");
return false;
}
Lendo outras perguntas no fórum, entendi que a correção do meu problema é essa linha:
public DiretorExecutivo(String nome, String cargo, String cpf, int numero, int agencia, double salario) {
super(nome, cargo, cpf, numero, agencia, salario);
}
Entretanto o que não entra na minha cabeça é pq eu tenho que meio que repetir essas 2 linhas se a classe já é herdada... Pelo o que tinha entendido, eu só necessitaria fazer isso caso houvesse algum atributo específico do Gerente. Caso alguém consiga me explicar o porquê, ficarei muito grato.