Prezados,
A logica do funcionamento do Projeto bytebank- Herdado ficou bem clara, mas a forma que os paramentos é passado de Class Testa que chama uma CLasse A, Chama outra classe ficou copmplicado o entendimento. Vamos lá:
Classe FuncionarioAutenticavel, SistemaIterno, Gerente, Administrador e TesteSistema.
public abstract class FuncionarioAutenticavel extends Funcionario {
private int senha;
public int getSenha() {
return senha;
}
public void setSenha(int senha) {
this.senha = senha;
}
public boolean autentica(int senha) {
if (this.senha == senha) {
return true;
}
return false;
}
}
public class SistemaInterno {
private int senha = 2222;
public void autentica(FuncionarioAutenticavel fa) {
boolean autenticou = fa.autentica(this.senha);
if (autenticou) {
System.out.println("Pode entrar no sistema");
} else {
System.out.println("Não pode entrar no sistema");
}
}
}
public class Gerente extends FuncionarioAutenticavel{
public double getBonificacao() {
System.out.println("boniificacao do gerente");
return super.getSalario();
}
}
public class Administrador extends FuncionarioAutenticavel{
@Override
public double getBonificacao() {
return 50;
}
}
public class TesteSistema {
public static void main(String[] args) {
Gerente g = new Gerente();
g.setSenha(2222);
Administrador adm = new Administrador();
adm.setSenha(3333);
SistemaInterno si = new SistemaInterno();
si.autentica(g);
si.autentica(adm);
}
}
O que desejo. Explicação de como o valor "2222" e "3333" vai pecorrer as classes envolvidas, inclusive quando é comparada com uma senha padrão=2222
Obrigado!