1
resposta

[Dúvida] Criação de construtores em classes mães e filhas

Olá pessoal, tenho uma dúvida referente a criação de construtores.

Ao declarar o construtor na classe filha, obrigatoriamente ela deve chamar o construtor da classe mãe utilizando o super().

Porém se eu por acaso quiser declarar mais valores somente na classe filha, posso fazer isso? por exemplo:

**Construtor da classe mãe:**

    public Titulo(String nome) {
        this.nome = nome;
    }
**Construtor da classe filha:**

    public Filme(String nome, int ano) {
        super(nome);
        this.setAnoDeLancamento(ano);
    }

Na classe mãe declaro somente o nome, mas na filha quero declarar por exemplo nome e ano. Posso fazer isso ou é obrigatório sempre criar um construtor igual ao da classe filha na classe mãe??

1 resposta

Olá, até aonde eu sei você pode sim fazer isso sem nenhum problema! Por exemplo nesse código abaixo:

public class Pessoa {
    private String nome;
    private Date nascimento;

    public Pessoa(String nome, Date nascimento){
        this.nome = nome;
        this.nascimento = nascimento;
    }
}

public class Cliente extends Pessoa{
    private String endereco;
    private int codigo;

    public Cliente(int codigo String nome, String endereco, Date nascimento) {
        super(nome, nascimento);
        this.endereco = endereco;
        this.codigo = codigo;
    }
}

Neste exemplo, a classe Cliente herda o construtor da classe Pessoa e pode sim declarar mais atributos, como por exemplo o endereço e o código.