Solucionado (ver solução)
Solucionado
(ver solução)
8
respostas

Classe extendida

Quando eu tento criar uma classe Gerente extendida de Funcionario, da problema com o construtor da classe funcionario alguem consegue me ajudar com esse problema?

class Funcionario{

    public Pessoa titular;
    public String departamento;
    public DATA data_entrada;
    public  Conta conta;

    private float salario;
    private int indentificador;
    private static int contador = 1;


    public Funcionario(String nome, int CPF, String c,float d){
        this.titular = new Pessoa(nome,CPF);
        this.departamento = c;
        this.salario = d;
        this.indentificador = contador;
        contador++;

    //metedos...
    }
8 respostas

Poderia colar todo o código das 2 classes para que eu possa testar aqui?

Oi Guilherme, tudo bem ?

Lembra que quando herdamos de alguma classe estamos falando que nossa classe filha também é uma classe pai, melhorando um pouco esse aspecto, a classe filha tem tudo que a classe pai tem, métodos atributos e construtores, dessa forma, quando você herda você precisa criar a classe herdada através do super.

O que pode ter acontecido é que você se esqueceu de criar a classe pai, ou seja chamar o super e nisso ele vai atrás de um construtor default, sem parâmetros, nisso ele não encontra e fica acusando erro na sua classe.

Espero ter ajudado.

Abraços

A classe Gerente eu nao diferenciei em nada da classe Funcionario ainda; eu tentei apenas algo do tipo:

class Gerente extends Funcionario{}

E sim creio que o problema seria esse mesmo, mas como eu deveria usar o 'super' ?

A classe Gerente eu nao diferenciei em nada da classe Funcionario ainda; eu tentei apenas algo do tipo:

class Gerente extends Funcionario{}

E sim creio que o problema seria esse mesmo, mas como eu deveria usar o 'super' ?

No super, você deve passar todos os parâmetros que a classe pai necessita em seu construtor, isso você fará quando estiver criando a sua classe, ou seja no construtor dela.

solução!

Seria algo como:

public class Gerente extends Funcionario{
    public Gerente () {
       super("Pedro", 567234634,  "Financeiro ", 5000);
    }

Perfeito !

Valeu ai pessoal.