Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Classe Herdada Livro de Produto

Professor, nesse codigo abaixo, não seria mais correto no construtor passa o super? `public class Livro extends Produto {

public Livro(String autor, Integer numeroDePaginas) {
    this.autor = autor;
    this.numeroDePaginas = numeroDePaginas;
}

` ou nao faz diferença?

public Livro(String nome, String descricao, BigDecimal preco, Categoria categoria, String autor, Integer numeroDePaginas) {
    super(nome, descricao, preco, categoria);
    this.autor = autor;
    this.numeroDePaginas = numeroDePaginas;
  }
1 resposta
solução!

Olá, Luccas!

Você está correto ao sugerir o uso do super no construtor da classe Livro. Quando você herda de uma classe, é uma boa prática chamar o construtor da classe base (superclasse) para garantir que os atributos da superclasse sejam inicializados corretamente. No seu caso, a classe Livro herda de Produto, então é importante passar os parâmetros necessários para o construtor de Produto usando super.

Veja como ficaria a implementação correta:

public class Livro extends Produto {

    private String autor;
    private Integer numeroDePaginas;

    public Livro(String nome, String descricao, BigDecimal preco, Categoria categoria, String autor, Integer numeroDePaginas) {
        super(nome, descricao, preco, categoria);
        this.autor = autor;
        this.numeroDePaginas = numeroDePaginas;
    }
}

Dessa forma, você está garantindo que todos os atributos da superclasse Produto sejam inicializados corretamente, além dos atributos específicos da classe Livro.

Espero ter ajudado e bons estudos!