1
resposta

Construtores - como eu resolvi

public class Produto {
    private String nome;
    private double preco;
    private int quantidade;

    public Produto (String nome, double preco, int quantidade) {
        this.nome = nome;
        this.preco = preco;
        this.quantidade = quantidade;
    }


    @Override
    public String toString() {
        return ("Nome: " +nome+ ", Preço: "+preco+ " , Quantidade: " +quantidade);

    }
}
public class ProdutoPerecivel extends Produto {
       private String dataValidade;

       public ProdutoPerecivel(String nome, double preco, int quantidade, String dataValidade) {
          super(nome,preco,quantidade);
          this.dataValidade = dataValidade;
        }


    public String toString() {
           return super.toString() + " , Validade: " +dataValidade;
        }

}
import java.util.ArrayList;

public class Principal {
    public static void main(String[] args) {
        ArrayList<Produto> listaDeProdutos = new ArrayList<>();

        ProdutoPerecivel mascaraRosto = new ProdutoPerecivel("Máscara de Rosto", 68.9, 25, "20/08/2005");
        System.out.println(mascaraRosto);


        listaDeProdutos.add(new Produto("Sabonete", 25.50, 50));
        listaDeProdutos.add(new Produto("Óleo de Banho", 85.50, 30));
        listaDeProdutos.add(new Produto("Creme Hidratante", 65.90, 45));
        listaDeProdutos.add(new Produto("Shampoo", 38.50, 35));
        listaDeProdutos.add(new Produto("Condicionador", 45, 35));


        System.out.println("Quantidade de Itens na lista: "+listaDeProdutos.size());
        System.out.println("Lista de Produtos: ");
        for (Produto p : listaDeProdutos) {
            System.out.println(p);
        }


    }
}
1 resposta

Oii, Renata.

Obrigada por compartilhar seu código com a comunidade Alura.

Gostei de ver como você usou herança para criar o ProdutoPerecivel com o super chamando o construtor da classe pai. A implementação do toString também ficou clara e bem organizada.

Uma coisa legal que você pode testar, se quiser, é criar ArrayList com List para praticar polimorfismo de interfaces.


List lista = new ArrayList<>();

Assim, você pode mudar o tipo de lista depois, se quiser.

Conteúdos relacionados
Alura

Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!