1
resposta

[Projeto] Desafio construtores

  1. classe Produto
package com.projeto.construtor.modelo;

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

    public String getNome() {
        return nome;
    }

    public double getPreco() {
        return preco;
    }

    public int getQuantidade() {
        return quantidade;
    }

    @Override
    public String toString() {
        return "Produto {" +
                "nome: " + this.getNome() + '\'' +
                ", preço: " + this.getPreco() +
                ", quantidade: " + this.getQuantidade() +
                '}';
    }
}
  1. classe ProdutoPerecivel
package com.projeto.construtor.modelo;

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 "Produto {" +
                "nome: " + this.getNome() + '\'' +
                ", preço: " + this.getPreco() +
                ", quantidade: " + this.getQuantidade() +
                ", Data de validade " + this.getDataValidade() +
                '}';
    }
}
  1. Principal
import com.projeto.construtor.modelo.Produto;
import com.projeto.construtor.modelo.ProdutoPerecivel;

import java.util.ArrayList;

public class Principal {
    public static void main(String[] args) {
        Produto produto1 = new Produto("video game", 2500, 10);
        Produto produto2 = new Produto("celular", 5000, 50);
        Produto produto3 = new Produto("Carro", 87000 , 20);

        ArrayList<Produto> listaDeProduto = new ArrayList<>();
        listaDeProduto.add(produto1);
        listaDeProduto.add(produto2);
        listaDeProduto.add(produto3);
        System.out.println("Tamanho da lista: " + listaDeProduto.size());
        System.out.println("Segundo produto da lista: " + listaDeProduto.get(1).getNome());
        System.out.println("toString da lista: " + listaDeProduto.get(0).toString() );
        System.out.println("Lista de Produto:");
        for (Produto produto : listaDeProduto) {
            System.out.println(produto);
        }

        ProdutoPerecivel perecivel1 = new ProdutoPerecivel("Arroz", 5.90, 100, "23/08");
        ProdutoPerecivel perecivel2 = new ProdutoPerecivel("Feijão", 7.90, 80, "29/08");
        ProdutoPerecivel perecivel3 = new ProdutoPerecivel("Açucar", 3.90, 70, "22/08");

        ArrayList<ProdutoPerecivel> perecivels = new ArrayList<>();
        perecivels.add(perecivel1);
        perecivels.add(perecivel2);
        perecivels.add(perecivel3);
        System.out.println("Tamanho da lista: " + perecivels.size());
        System.out.println("toString da lista: " + perecivels.get(0).toString() );
        System.out.println("lista de produto: ");
        for (ProdutoPerecivel perecivel : perecivels) {
            System.out.println(perecivel);
        }

    }
}
1 resposta

OIi, Bruno! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei da forma como você estruturou as classes e utilizou herança para diferenciar Produto e ProdutoPerecivel. Sua implementação do método toString() torna a exibição dos objetos mais clara e fácil de ler.

Uma dica interessante para o futuro é usar o método addAll() quando quiser inserir vários elementos de uma só vez em uma lista.

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