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

[Projeto] Desafio: Contruindo Objetos

import java.util.ArrayList;

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

        Produto produto1 = new Produto("Arroz", 24.87, 150);
        Produto produto2 = new Produto("Feijao", 7.15, 57);

        ProdutoPerecivel perecivel = new ProdutoPerecivel("Peixe", 26.99,
                86, "25/03/2025");


        ArrayList<Produto> listaDeProdutos = new ArrayList<>();
        listaDeProdutos.add(produto1);
        listaDeProdutos.add(perecivel);
        listaDeProdutos.add(produto2);
        System.out.println(listaDeProdutos.size());
        System.out.println(listaDeProdutos.get(1).toString());
        System.out.println(listaDeProdutos.get(0).toString());
    }
}
public class Produto {
    protected String nome;
    protected double preco;
    protected int quantidade;

    @Override
    public String toString() {
        return "Produto{" +
                "nome='" + nome + '\'' +
                ", preco=" + preco +
                ", quantidade=" + quantidade +
                '}';
    }

    public Produto(String nome, double preco, int quantidade) {
        setNome(nome);
        setPreco(preco);
        setQuantidade(quantidade);
    }

    public String getNome() {
        return nome;
    }

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

    public double getPreco() {
        return preco;
    }

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

    public int getQuantidade() {
        return quantidade;
    }

    public void setQuantidade(int quantidade) {
        this.quantidade = quantidade;
    }
}
import java.util.Date;

public class ProdutoPerecivel extends Produto {
    protected String dataValidade;

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

    public String getDataValidade() {
        return dataValidade;
    }

    public void setDataValidade(String dataValidade) {
        this.dataValidade = dataValidade;
    }

    @Override
    public String toString() {
        return "Produto{" +
                "nome='" + nome + '\'' +
                ", preco=" + preco +
                ", quantidade=" + quantidade +
                ", Data de Validade=" +dataValidade +
                '}';
    }
}
1 resposta
solução!

Olá, Reinaldo. Tudo bem?

Muito obrigado por compartilhar o seu código aqui com a gente. Parabéns pelo trabalho. Continue com essa dedicação.

Ótimo como você estruturou a classe ProdutoPerecivel, aproveitando a herança para evitar repetição de código. Isso torna seu código mais organizado e reutilizável.

Uma alternativa que você pode considerar, é o uso da interface List ao invés de ArrayList diretamente. Isso permite maior flexibilidade caso precise trocar a implementação no futuro. Veja este exemplo:


import java.util.List;
import java.util.ArrayList;

List<Produto> listaDeProdutos = new ArrayList<>();

O código cria uma lista de produtos utilizando a interface List, permitindo trocar ArrayList por outra implementação, se necessário.

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