1
resposta

[Projeto] Desafio: hora da prática Construindo Objetos

Classe Produto.java java Copiar Editar 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;
}

// Getters
public String getNome() {
    return nome;
}

public double getPreco() {
    return preco;
}

public int getQuantidade() {
    return quantidade;
}

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

} Classe ProdutoPerecivel.java java Copiar Editar import java.time.LocalDate;

public class ProdutoPerecivel extends Produto {

private LocalDate dataValidade;

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

public LocalDate getDataValidade() {
    return dataValidade;
}

// toString com dados da superclasse + data de validade
@Override
public String toString() {
    return super.toString() + ", dataValidade=" + dataValidade;
}

} Classe Principal.java java Copiar Editar import java.time.LocalDate; import java.util.ArrayList;

public class Principal { public static void main(String[] args) { // Criação da lista de produtos ArrayList listaProdutos = new ArrayList<>();

    // Adição de produtos usando o construtor
    listaProdutos.add(new Produto("Caderno", 12.90, 10));
    listaProdutos.add(new Produto("Caneta", 2.50, 50));
    listaProdutos.add(new Produto("Borracha", 1.00, 30));

    // Impressão do tamanho da lista
    System.out.println("Tamanho da lista: " + listaProdutos.size());

    // Recuperação de um produto pelo índice
    System.out.println("Produto na posição 1: " + listaProdutos.get(1));

    // Impressão de todos os produtos
    System.out.println("Lista completa de produtos:");
    for (Produto produto : listaProdutos) {
        System.out.println(produto);
    }

    // Criação e impressão de um produto perecível
    ProdutoPerecivel leite = new ProdutoPerecivel("Leite", 4.99, 20, LocalDate.of(2025, 5, 30));
    System.out.println("Produto perecível: " + leite);
}

}

1 resposta

Oi, Camila! Como vai?

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

Sua modelagem com Produto e ProdutoPerecivel está muito bem estruturada, com uso adequado de herança, sobrescrita de métodos e ArrayList para manipular os objetos. A divisão entre produtos comuns e perecíveis ficou clara e bem aplicada na Principal.

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