Herança e polimorfismo! dá uma ajuda ai

ainda falando de herança eu vou postar ai embaixo minhas classezinhas e comento diretamente nas que tem problemas (Gerente e Diretor):
A classe mae Funcionario

public abstract class Funcionario {
	protected String nome;
	protected String cpf;
	protected double salario;
	protected double taxa;
	
	double getBonificacao (){return this.salario * this.taxa;}
	
	String getDados(){
		return "None:" + this.nome + " | " + "CPF:" + this.cpf + " | " + "Salario:" + this.salario + " | " + "Taxa Selic:" + this.taxa;
	}
	
	void imprime(Funcionario funcionario){
		System.out.println(this.getDados());
		System.out.println("Valor da Bonificacao: " + this.getBonificacao());
		System.out.println("------------------------------");
	}
	
}

Outra classe mae, a funcionarioAutenticavel

public abstract class FuncionarioAutenticavel extends Funcionario{
	
	double getBonificacao (){return this.salario * this.taxa;}

	abstract boolean autentica(FuncionarioAutenticavel funcionario, int senha);
}

Duas filhas desta acima

public class Diretor extends FuncionarioAutenticavel {
	private int senha = 175;

public Diretor(String nome, String cpf, double salario, double taxa) {
		this.nome = nome;
		this.cpf = cpf;
		this.salario = salario;
		this.taxa = taxa;
	}

	double getBonificacao(){
		return super.getBonificacao();
	}

	@Override
	boolean autentica(FuncionarioAutenticavel funcionario, int senha) {
		// TODO Auto-generated method stub
		if (this.senha == senha){return true;}
		else {return false;}
	}
	
	String login(FuncionarioAutenticavel funcionario, int senha){ 
		if (this.autentica(funcionario, senha)) {
			return "OK senha aceita";
		}
		else {return "Senha invalida";} // Nao ta imprimindo a string "Senha invalida" mas  "false" Pq ?
	}
}


public class Gerente extends FuncionarioAutenticavel{

	private int senha = 440;

	public Gerente(String nome, String cpf, double salario, double taxa) {
		this.nome = nome;
		this.cpf = cpf;
		this.salario = salario;
		this.taxa = taxa;
	}
	double getBonificacao(){
		return super.getBonificacao();
	}
	
	@Override
	boolean autentica(FuncionarioAutenticavel funcionario, int senha) {
		// TODO Auto-generated method stub
		if (this.senha == senha){return true;}
		else {return false;}
	}
	
	String login(FuncionarioAutenticavel funcionario, int senha){ 
		if (this.autentica(funcionario, senha)) {
			return "OK senha aceita";
		}
		else {return "Senha invalida";} // Nao ta imprimindo a string "Senha invalida" mas  "false" Pq ?
	}
}

e o main

public class Principal {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Gerente F1 = new Gerente("Rafael Muinarczyki ", "60670975087", 1000.0, 0.01);
		System.out.println(F1.login(F1, 440));
		F1.imprime(F1);
		
		
		Diretor D1 = new Diretor("Paulo Freitas ", "9876655443", 1000.0, 0.01);
		System.out.println(D1.autentica(D1, 123));
		D1.imprime(D1);
		
		
		
		
		ControleDeBonificacoes CB1 = new ControleDeBonificacoes();
		CB1.registra(F1);
		CB1.registra(D1);
		System.out.println("Total de bonificacoes= " + CB1.getTotalDeBonificacoes());
		
	}

}

putzzzzz…erro de atenção galera… desculpa ai…o panaca aqui ja resolveu :lol:
o erro foi no main
coloquei:

System.out.println(D1.autentica(D1, 123));

e devia ser

System.out.println(D1.login(D1, 123));

abraçao!

Eu dei uma olhada no código e me pareceu estar correto. Infelizmente, não tem como eu testar o seu programa pois estou no trabalho…
Dá algum erro na hora de compilar? Quando você chama o método login(FuncionarioAutenticavel funcionario, int senha) e retorna true, imprime algo?

EDIT: Já vi que resolveu! Eu só dando uma olhada no código também não tinha me atentado que estava chamando o método errado. rsrs’

[quote=gustavo_mb]Eu dei uma olhada no código e me pareceu estar correto. Infelizmente, não tem como eu testar o seu programa pois estou no trabalho…
Dá algum erro na hora de compilar? Quando você chama o método login(FuncionarioAutenticavel funcionario, int senha) e retorna true, imprime algo?[/quote]

ah ok gustavo
mas ja corrigi o erro num post acima do teu
foi mero erro de desatenção
à propósito é um Dojão Charger RT na foto? Teu?

[quote=rafaelczy][quote=gustavo_mb]Eu dei uma olhada no código e me pareceu estar correto. Infelizmente, não tem como eu testar o seu programa pois estou no trabalho…
Dá algum erro na hora de compilar? Quando você chama o método login(FuncionarioAutenticavel funcionario, int senha) e retorna true, imprime algo?[/quote]

ah ok gustavo
mas ja corrigi o erro num post acima do teu
foi mero erro de desatenção
à propósito é um Dojão Charger RT na foto? Teu?[/quote]

Sim, é um Dodge Charger TT com pneu Cobra e talz.
Fiz um programa em JAVA pra um cliente, e o pagamento foi esse carro.

:lol:

Brincadeira, não é meu não. Minha tia casou e esse foi o carro alugado pra leva-la até a igreja! rsrs’
Aproveitei pra tirar uma fotinha. .-.

[quote=gustavo_mb][quote=rafaelczy][quote=gustavo_mb]Eu dei uma olhada no código e me pareceu estar correto. Infelizmente, não tem como eu testar o seu programa pois estou no trabalho…
Dá algum erro na hora de compilar? Quando você chama o método login(FuncionarioAutenticavel funcionario, int senha) e retorna true, imprime algo?[/quote]

ah ok gustavo
mas ja corrigi o erro num post acima do teu
foi mero erro de desatenção
à propósito é um Dojão Charger RT na foto? Teu?[/quote]

Sim, é um Dodge Charger TT com pneu Cobra e talz.
Fiz um programa em JAVA pra um cliente, e o pagamento foi esse carro.

:lol:

Brincadeira, não é meu não. Minha tia casou e esse foi o carro alugado pra leva-la até a igreja! rsrs’
Aproveitei pra tirar uma fotinha. .-.[/quote]

rssssssss… mas a brincadeira caiu bem pq eu tava justamente sonhando ontem em acordar java men e me vi recebendo um carro de um cliente que me pediu um sistema em java pra empresa dele hehehe
podemos até fazer esse tipo de brincadeira mas logo vai ser verdadeiro pois podemos cobrar de 10 a 20 mil ou mais dependendo da complexidade
Eu por exemplo sei de um atacado que quer um sistema completo, inclusive pros vendedores dele poderem acessar via smart fone e estão dispostos a pagar mais de 25mil.
Eu estudo em media 6 horas por dia e qdo dá preguiça eu penso nesse cliente!
Eu digo pra mim: “vai cavalo, estuda cavalo, anda!!!”

[quote=rafaelczy][quote=gustavo_mb][quote=rafaelczy][quote=gustavo_mb]Eu dei uma olhada no código e me pareceu estar correto. Infelizmente, não tem como eu testar o seu programa pois estou no trabalho…
Dá algum erro na hora de compilar? Quando você chama o método login(FuncionarioAutenticavel funcionario, int senha) e retorna true, imprime algo?[/quote]

ah ok gustavo
mas ja corrigi o erro num post acima do teu
foi mero erro de desatenção
à propósito é um Dojão Charger RT na foto? Teu?[/quote]

Sim, é um Dodge Charger TT com pneu Cobra e talz.
Fiz um programa em JAVA pra um cliente, e o pagamento foi esse carro.

:lol:

Brincadeira, não é meu não. Minha tia casou e esse foi o carro alugado pra leva-la até a igreja! rsrs’
Aproveitei pra tirar uma fotinha. .-.[/quote]

rssssssss… mas a brincadeira caiu bem pq eu tava justamente sonhando ontem em acordar java men e me vi recebendo um carro de um cliente que me pediu um sistema em java pra empresa dele hehehe
podemos até fazer esse tipo de brincadeira mas logo vai ser verdadeiro pois podemos cobrar de 10 a 20 mil ou mais dependendo da complexidade
Eu por exemplo sei de um atacado que quer um sistema completo, inclusive pros vendedores dele poderem acessar via smart fone e estão dispostos a pagar mais de 25mil.
Eu estudo em media 6 horas por dia e qdo dá preguiça eu penso nesse cliente!
Eu digo pra mim: “vai cavalo, estuda cavalo, anda!!!”[/quote]

Haha! Eu também estudo pelo menos 6h diárias e vou fazer o curso “Formação Java” na CAELUM no final de novembro. Pretendo no começo do ano tirar minha OCJP. Bom, já saímos do assunto do tópico. Me manda uma MP com seu MSN pra conversarmos depois!