Abstract

6 respostas
fjucks
public abstract class Funcionario {
	
	// atributos da classe Funcionario
	private String nome;
	private String cpf;
	protected double salario;
		
	// COnstrutores da classe Funcionario
	// Polimorfismo sobrecarga. Nomes iguais e assinaturas diferentes.
    public Funcionario() {
    }
    
    public Funcionario(String nome, String cpf, double salario) {
    	this.nome = nome;
    	this.cpf = cpf;
    	this.salario = salario;
    }
    
    // gets / sets
    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;
    }
    
    // Metodos da classe Funcionario
    public String toString(){
    	String frase = "\nNome....: " + this.nome + 
    		"\nCPF.....: " + this.cpf +
    		"\nSalario.: " + this.salario;
    	return(frase);
    }
    
    abstract double getBonificacao();
public class Gerente extends Funcionario {
	
	// atributo da classe Gerente
	private String senha;
	
	// construtor da classe Gerente
    public Gerente() {
    }
    
    public Gerente(String senha) {
    	this.senha = senha;
    }
    
    public Gerente(String nome, String cpf, double salario, String senha){
    	super(nome, cpf, salario);
    	this.senha = senha;
    }    
    // gets / sets
    public String getSenha() {
    	return(senha);
    }
    
    public void setSenha(String senha) {
    	this.senha = senha;
    }

	public double getBonificacao() {
		return(this.salario * 0.50);
	}

    // metodos da classe Gerente
    public boolean autenticar(String senhaDigitada) {
    	return(senhaDigitada.equals(this.senha));
    }
    
}

como faço para acesar o ometodo getBonificação() da classe princinpal, ela esta declarada como abstract

6 Respostas

marcosvidolin

Implemente o metodo na sua classe Gerente.

magocebolinha

Ai vai…

class Principal {
	
	public static void main (String args[]){
	
		Gerente g1 = new Gerente("Ricardo", "121.121.121.12", 1.230, "445566");
		
		System.out.println("bonificação de Ricardo: "+ g1.getBonificacao());
			
		
	}
}
magocebolinha

O método ja esta declarado e definido na classe Gerente…

marcosvidolin

O método ja esta declarado e definido na classe Gerente…

Tem razão, não tinha encontrado.

magocebolinha
fjucks:
public abstract class Funcionario {
	
	// atributos da classe Funcionario
	private String nome;
	private String cpf;
	protected double salario;
		
	// COnstrutores da classe Funcionario
	// Polimorfismo sobrecarga. Nomes iguais e assinaturas diferentes.
    public Funcionario() {
    }
    
    public Funcionario(String nome, String cpf, double salario) {
    	this.nome = nome;
    	this.cpf = cpf;
    	this.salario = salario;
    }
    
    // gets / sets
    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;
    }
    
    // Metodos da classe Funcionario
    public String toString(){
    	String frase = "\nNome....: " + this.nome + 
    		"\nCPF.....: " + this.cpf +
    		"\nSalario.: " + this.salario;
    	return(frase);
    }
    
    abstract double getBonificacao();
public class Gerente extends Funcionario {
	
	// atributo da classe Gerente
	private String senha;
	
	// construtor da classe Gerente
    public Gerente() {
    }
    
    public Gerente(String senha) {
    	this.senha = senha;
    }
    
    public Gerente(String nome, String cpf, double salario, String senha){
    	super(nome, cpf, salario);
    	this.senha = senha;
    }    
    // gets / sets
    public String getSenha() {
    	return(senha);
    }
    
    public void setSenha(String senha) {
    	this.senha = senha;
    }

	public double getBonificacao() {
		return(this.salario * 0.50);
	}

    // metodos da classe Gerente
    public boolean autenticar(String senhaDigitada) {
    	return(senhaDigitada.equals(this.senha));
    }
    
}

como faço para acesar o ometodo getBonificação() da classe princinpal, ela esta declarada como abstract

Se respondeu sua dúvida, coloca [Resolvido] no titulo do post.

magocebolinha

ops… post errado… desconsiderem essa mensagem

Criado 31 de março de 2010
Ultima resposta 1 de abr. de 2010
Respostas 6
Participantes 3