Funcionario
public class Funcionario {
private String nome;
private String cpf;
private float salario;
Funcionario(String nome, String cpf, float salario) {
this.setNome(nome);
this.setCpf(cpf);
this.setSalario(salario);
System.out.println("Funcionário Cadastrado com Sucesso!");
System.out.println("Nome: " + this.nome + "\nCpf: " + this.cpf);
System.out.println("Salario: " + this.salario);
}
Funcionario(String nome, String cpf) {
this(nome, cpf, 1200f);
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public float getSalario() {
return salario;
}
public void setSalario(float salario) {
this.salario = salario;
}
public float getBonificacao() {
return this.salario * 0.1f;
}
}
Gerente
public class Gerente extends Funcionario{
private String senha;
Gerente(String nome, String cpf, float salario, String senha) {
super(nome, cpf, salario);
this.senha = senha;
}
Gerente(String nome, String cpf, float salario) {
this(nome, cpf, salario, "admin");
System.out.println("A senha padrão é admin, altere assim que possível");
}
public String getSenha() {
return this.senha;
}
public void setSenha(String senhaAnterior, String senha) {
if(this.autentica(senhaAnterior))
this.senha = senha;
else
System.out.println("Digite a senha corretamente");
}
public boolean autentica(String senha) {
return this.senha.equals(senha);
}
}
Teste
public class Main {
public static void main(String[] args) {
Funcionario nico = new Funcionario("Nico", "12345678910");
System.out.println("Bonificacao " + (nico.getSalario()+nico.getBonificacao()) +"\n");
Gerente g1 = new Gerente("Rod", "10987654321", 5000f);
System.out.println(g1.autentica("admin"));
Gerente g2 = new Gerente("Afon", "12378945610", 10000f, "senha123");
System.out.println(g2.autentica("admin"));
}
}