1
resposta

Herança - Java Parte 3

Para poder funcionar o extends na classe Gerente foi necessário criar um construtor para a classe conforme:

public Gerente(String nome,String cpf, double salario){
    super(nome,cpf,salario);
}

Caso contrário era apresentado o erro: Implicit super constructor Funcionario() is undefined for default constructor. Must define an explicit constructor

Por que no vídeo não foi necessário a criação do construtor na classe Gerente?

1 resposta

Sua classe funcionário só deve estar com o construtor que recebe nome,cpf,salario. No caso do curso não tem construtor definido (ou seja, está usando o construtor sem argumentos que é o default quando não existe construtor explicito):


public class Funcionario {

    private String nome;
    private String cpf;
    private double salario;


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

    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;
    }



}