1
resposta

[Sugestão] Desafio: Construtores resolvido

import model.Produto;
import model.ProdutoPerecivel;

import java.lang.reflect.Array;
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {

        //Criando a lista
        ArrayList<Produto> produtos = new ArrayList<>();

        // Criando Obejtos
        Produto mouse = new Produto("Mouse Logi Tech" ,45.89 ,16);
        Produto teclado = new Produto("Teclado MK45 Logi Tech",78.69 ,16);
        Produto monitor = new Produto("Monitor 2k 144hz Logi Tech ", 545.99, 7);

        // Adicionando os Objetos na lista
        produtos.add(mouse);
        produtos.add(teclado);
        produtos.add(monitor);


        //Imprimendo informacoes da lista
        System.out.println("O tamanho da lista é " + produtos.size());
        System.out.println("O primeiro item da lista é " + produtos.get(0));
        System.out.println("Lista completa: ");
        System.out.println(produtos.get(0));
        System.out.println(produtos.get(1));
        System.out.println(produtos.get(2));

        //Criando um produto perecivel - herdado de produto
        ProdutoPerecivel oleo = new ProdutoPerecivel("Oleo Spray WD40", 39.90, 23, "30/09/2027");
        System.out.println("Unico produto perecivel da loja é " + oleo);
        produtos.add(oleo);
    }
}


package model;

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;
    }
}


package model;

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 getDataValidade() {
        return dataValidade;
    }
    @Override
    public String toString() {
        return super.toString() + ", Data de Validade: " + dataValidade;
    }

}
1 resposta

Olá, Lucas! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de listas para organizar objetos com Java, utilizou muito bem o conceito de herança para criar uma classe especializada e ainda compreendeu a importância da sobrescrita do método toString para apresentar informações de forma clara.

Uma dica interessante para o futuro é aplicar laços de repetição para percorrer a lista e imprimir os itens de forma dinâmica, em vez de acessar cada índice manualmente. Assim:

for (Produto produto : produtos) {
    System.out.println(produto);
}

Isso faz com que o código fique mais flexível e fácil de manter, especialmente quando a lista cresce.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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