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

[Projeto] exercitórios

Boa tarde pessoal, deixar aqui a forma que resolvi o construtor, aberto a sugestões:

Classe Principal (Execução)

package primeirosPassos.Desafios.Construtores;

import java.util.ArrayList;

public class Principal {
    public static void main(String[] args) {
        Produto produto = new Produto("iPhone 16 Pro", 8999.87, 2);
        Produto produto2 = new Produto("PlayStation 5", 2398.87, 6);
        Produto produto3 = new Produto("TV Samsung 50'", 1978.88, 10);

        ProdutoPerecivel produtoP = new ProdutoPerecivel("Pão de queijo",11.99,50,"30/11/2024");
        ProdutoPerecivel produtoP2 = new ProdutoPerecivel("Mussarela 100g",7.85,100,"12/12/2024");
        ProdutoPerecivel produtoP3 = new ProdutoPerecivel("Mortandela 100g",5.79,150,"1/12/2024");


        ArrayList<Produto> listaProdutos = new ArrayList<>();
        listaProdutos.add(produto);
        listaProdutos.add(produto2);
        listaProdutos.add(produto3);

        ArrayList<ProdutoPerecivel> listaProdutosP = new ArrayList<>();
        listaProdutosP.add(produtoP);
        listaProdutosP.add(produtoP2);
        listaProdutosP.add(produtoP3);



        System.out.println("Tamanho da lista: " + listaProdutos.size());
        System.out.println("Primeiro produto da lista: " + listaProdutos.get(0));
        System.out.println("No carrinho: " + listaProdutos.toString());

        System.out.println("Tamanho da lista: " + listaProdutosP.size());
        System.out.println("Primeiro produto da lista: " + listaProdutosP.get(0));
        System.out.println("No carrinho: " + listaProdutosP.toString());

    }
}

Produto

package primeirosPassos.Desafios.Construtores;

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: " + this.getNome() + " | R$ " + this.getPreco() + " | quantidade " + this.getQuantidade();
    }
}

Produto perecível

package primeirosPassos.Desafios.Construtores;

public class ProdutoPerecivel extends Produto{
    private String dataDeValidade;


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

    public String getDataDeValidade() {
        return dataDeValidade;
    }
    @Override
    public String toString() {
        return "Produto: " + this.getNome() + " | R$ " + this.getPreco() + " | quantidade " + this.getQuantidade() + " | Data de validade: " + this.getDataDeValidade();
    }
}
1 resposta
solução!

Oi, Matheus! Como vai?

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

Gostei bastante de como você estruturou a hierarquia entre as classes Produto e ProdutoPerecivel. A extensão da classe base e a sobrescrita do método toString() deixam o código bem organizado e claro. Isso ajuda muito na reutilização e manutenção!

Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!