public class SistemaInterno {
private int senha = 2222;
public void autentica(FuncionarioAutenticavel fa) { // foi criado mas não consegue chamar ele na classe TesteSistema
boolean autenticou = fa.autentica(this.senha);
if(autenticou) {
System.out.println("Entrada foi altorizada");
}else {
System.out.println("Não pode entrar no sistema");
}
}
}
**************************************************************************
public class TesteSistema {
public static void main(String[] args) {
Gerente g = new Gerente();
g.setSenha(2222);
SistemaInterno si = new SistemaInterno();
si.autentica(fa); //com erro, nao consegue achar o autenticavel fa, mas
}
}
**************************************************************************
public abstract interface Autenticavel {
public abstract void setSenha(int senha);
public abstract boolean autentica(int senha);
}
**************************************************************************
public class Cliente implements Autenticavel{
private int senha;
@Override
public void setSenha(int senha) {
this.senha = senha;
}
@Override
public boolean autentica(int senha) {
if(this.senha == senha) {
return true;
} else {
return false;
}
}
}
*************************************************************************
public abstract class Funcionario {
private String nome;
private String cpf;
private double salario; /*Puclico para os filhos */
//Método sem corpo, não há implementação
public abstract double getBonificacao();
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 double getSalario() {
return salario;
}
public void setSalario(double salario) {
this.salario = salario;
}
}
*************************************************************************
public abstract class FuncionarioAutenticavel extends Funcionario {
private int senha;
public void setSenha(int senha) {
this.senha = senha;
}
public boolean autentica(int senha) {
if(this.senha== senha) {
return true;
}else {
return false;
}
}
}
o meu codigo esta dando errado , na classe TesteSistema
SistemaInterno si = new SistemaInterno();
si.autentica(fa); //Não consegue achar
Pro favor não estou vendo onde esta o meu erro
Obrigado!