1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Como fazer a subclasse herdar o construtor da superclasse?

Olá a todos,

Suponha que eu tenha o seguinte código:

public class Funcionario {
    protected String nome;
    protected String cpf = "00000000000";
    protected double salario = 0;

    public Funcionario(String nome)
    {
        this.nome = nome;
    }

    public Funcionario(String nome, double salario)
    {
        this(nome);
        this.salario = salario;
    }

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

E vamos supor que posteriormente eu crie uma subclasse do tipo:

public class Gerente extends Funcionario

Existe alguma maneira da subclasse Gerente herdar exatamente a mesma estrutura de constutores da superclasse Funcionário?

A solução que eu encontrei foi reescrever tudo:

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

Mas se eu fizer assim eu terei que reescrever os construtores para todas as subclasses de Funcionario que eu venha a criar no futuro. A pergunta é: Qual a maneira mais simples de fazer a subclasse herdar toda estrutura de construtores da superclasse?

Muito obrigado!

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags java construtor herança ou faça a sua própria pergunta.