1
resposta

[Projeto] Desafio: hora da prática

Olá,

Segue a minha resolução para o exercício. Para a classe Produto utilizei o seguinte código:

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

    @Override
    public String toString() {
        return "\nProduto: " + getNome() +
                "\nPreço: R$ " + getPreco() +
                "\nQuantidade: " + getQuantidade() +
                "\nTOTAL: R$ " + (getQuantidade() * getPreco());
    }
}

E para a classe filha ProdutoPerecivel:

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

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

    @Override
    public String toString() {
        return super.toString() + "\nData de Validade: " + getDataValidade();
    }
}

Ficando a implementação na Main:

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<Produto> listaDeProdutos = new ArrayList<>();

        var produto1 = new Produto("Lápis", 1.50, 100);
        var produto2 = new Produto("Caneta", 2.50, 50);
        var protudo3 = new Produto("Régua", 5.00, 10);

        listaDeProdutos.add(produto1);
        listaDeProdutos.add(produto2);
        listaDeProdutos.add(protudo3);

        System.out.printf("A lista tem %d itens.\n", listaDeProdutos.size());

        System.out.printf("O último item da lista é: \n %s\n-----------\n", listaDeProdutos.get(2));

        System.out.println(listaDeProdutos.toString());

        var perecivel1 = new ProdutoPerecivel("Leite", 5.50, 10, "15/12/2024");
        System.out.println(perecivel1);
    }
}	
    
1 resposta

Oi, Alessandro! Como vai?

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

Gostei de como você estruturou a classe Produto e a extensão em ProdutoPerecivel, além de utilizar o ArrayList na sua Main. Isso torna o gerenciamento de itens mais dinâmico.

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