1
resposta

Desafio Hora da Pratica

Esse foi meu codigo feito para o desafio envolvendo construtores e ArrayList.

public class ProdutoPerecivel extends Produto{

    private double dataValidade;

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

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

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int getPreco() {
        return preco;
    }

    public void setPreco(int preco) {
        this.preco = preco;
    }

    public int getQuantidade() {
        return quantidade;
    }

    public void setQuantidade(int quantidade) {
        this.quantidade = quantidade;
    }

    @Override
    public String toString() {
        return "Produto:" + this.getNome() + " Preço: R$" + this.getPreco() + " Quantidade:" + this.getQuantidade();
    }
}

import java.util.ArrayList;

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

        Produto produto1 = new Produto("Caderno", 10,1);
        var produto2 = new Produto("Lapis", 5,2);
        var produto3 = new Produto("Caneta", 3,2);
        var produto4 = new Produto("Lapis", 6,4);

        ArrayList<Produto> meusProdutos = new ArrayList<>();
        meusProdutos.add(produto1);
        meusProdutos.add(produto2);
        meusProdutos.add(produto3);
        meusProdutos.add(produto4);
        System.out.println("Tamanho da lista: " + meusProdutos.size() + " itens");
        System.out.println(meusProdutos.get(2).toString());

        ProdutoPerecivel pereciveis = new ProdutoPerecivel("Queijo",25,5,2026);
        System.out.println(pereciveis);
    }
    }
1 resposta

Oi, Rudy! Como vai?

Seu código mostra um bom domínio sobre herança e uso de ArrayList. A criação da classe ProdutoPerecivel foi bem estruturada, estendendo Produto corretamente e organizando os dados no método main.

Uma dica interessante para o futuro é sobrescrever o método toString() na classe ProdutoPerecivel, assim os dados da validade também serão exibidos ao imprimir o objeto:


@Override
public String toString() {
    return super.toString() + " - Validade: " + this.dataValidade;
}

Esse código complementa a saída do método toString() com a data de validade.

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