0
respostas

Desafio: hora da prática

Classe Produto.java

public class Produto {
    private String nome;
    private double preco;
    private int quantidade;

    // Construtor com parâmetros
    public Produto(String nome, double preco, int quantidade) {
        this.nome = nome;
        this.preco = preco;
        this.quantidade = quantidade;
    }

    // Método toString para exibir os dados
    @Override
    public String toString() {
        return "Produto{nome='" + nome + "', preco=" + preco + ", quantidade=" + quantidade + "}";
    }
}

Classe ProdutoPerecivel.java

import java.time.LocalDate;

public class ProdutoPerecivel extends Produto {
    private LocalDate dataValidade;

    // Construtor com super para inicializar Produto
    public ProdutoPerecivel(String nome, double preco, int quantidade, LocalDate dataValidade) {
        super(nome, preco, quantidade);
        this.dataValidade = dataValidade;
    }

    // toString herdado e complementado
    @Override
    public String toString() {
        return super.toString() + ", dataValidade=" + dataValidade;
    }
}

Classe Principal.java

import java.util.ArrayList;
import java.time.LocalDate;

public class Principal {
    public static void main(String[] args) {
        // Lista de produtos
        ArrayList<Produto> listaDeProdutos = new ArrayList<>();

        // Adicionando produtos
        listaDeProdutos.add(new Produto("Notebook", 3500.0, 5));
        listaDeProdutos.add(new Produto("Mouse", 80.0, 20));
        listaDeProdutos.add(new Produto("Teclado", 120.0, 15));

        // Tamanho da lista
        System.out.println("Tamanho da lista: " + listaDeProdutos.size());

        // Recuperando produto por índice
        System.out.println("Produto no índice 1: " + listaDeProdutos.get(1));

        // Imprimindo todos os produtos
        System.out.println("Lista de produtos:");
        for (Produto p : listaDeProdutos) {
            System.out.println(p);
        }

        // Criando um ProdutoPerecivel
        ProdutoPerecivel leite = new ProdutoPerecivel("Leite", 6.50, 10, LocalDate.of(2025, 6, 10));
        System.out.println("Produto perecível:");
        System.out.println(leite);
    }
}