- Classe Produto com atributos, construtor, ArrayList e recuperação por índice Classe Produto.java:
Java
public class Produto {
**private String nome;
private double preco;
private int quantidade;
// Construtor padrão (sem argumentos)
public Produto() {
// Pode ser útil para instanciar objetos vazios e setar valores posteriormente
}
// Construtor com parâmetros para inicializar os atributos
public Produto(String nome, double preco, int quantidade) {
this.nome = nome;
this.preco = preco;
this.quantidade = quantidade;
}
// Métodos Getters
public String getNome() {
return nome;
}
public double getPreco() {
return preco;
}
public int getQuantidade() {
return quantidade;
}
// Métodos Setters (se necessário para modificação externa)
public void setNome(String nome) {
this.nome = nome;
}
public void setPreco(double preco) {
this.preco = preco;
}
public void setQuantidade(int quantidade) {
this.quantidade = quantidade;
}
// Implementação do método toString()
@Override
public String toString() {
return "Produto [Nome: " + nome + ", Preço: R$" + String.format("%.2f", preco) + ", Quantidade: " + quantidade + "]";
}
}
**```
Classe principal (Exemplo de uso):
Java
import java.util.ArrayList;
import java.util.List;
public class PrincipalProdutos {
public static void main(String[] args) { // Criando uma lista de objetos Produto List listaProdutos = new ArrayList<>();
// Adicionando alguns produtos utilizando o construtor com parâmetros
listaProdutos.add(new Produto("Notebook Dell", 4500.00, 5));
listaProdutos.add(new Produto("Mouse Logitech", 120.00, 50));
listaProdutos.add(new Produto("Teclado Mecânico", 350.00, 20));
listaProdutos.add(new Produto("Monitor LG 27'", 1200.00, 10));
// Imprimindo o tamanho da lista
System.out.println("Tamanho da lista de produtos: " + listaProdutos.size());
// Recuperando um produto pelo índice (ex: o segundo produto, índice 1)
if (listaProdutos.size() > 1) {
Produto segundoProduto = listaProdutos.get(1);
System.out.println("\nProduto recuperado pelo índice 1: " + segundoProduto.getNome() +
" (Preço: R$" + String.format("%.2f", segundoProduto.getPreco()) + ")");
}
System.out.println("\n--- Lista de Produtos (usando toString()) ---");
// Imprimindo a lista de produtos (o método toString() será chamado automaticamente)
System.out.println(listaProdutos);
} }
2. Classe ProdutoPerecivel (Herança e Construtor super)
Classe ProdutoPerecivel.java:
Java
import java.time.LocalDate; // Importa a classe LocalDate para trabalhar com datas
public class ProdutoPerecivel extends Produto {
private LocalDate dataValidade; // Atributo para a data de validade
// Construtor da classe ProdutoPerecivel public ProdutoPerecivel(String nome, double preco, int quantidade, LocalDate dataValidade) { // Chama o construtor da classe pai (Produto) para inicializar os atributos herdados super(nome, preco, quantidade); this.dataValidade = dataValidade; }
// Getter para a data de validade public LocalDate getDataValidade() { return dataValidade; }
// Setter para a data de validade (se necessário) public void setDataValidade(LocalDate dataValidade) { this.dataValidade = dataValidade; }
// Sobrescreve o método toString() para incluir a data de validade @Override public String toString() { return "Produto Perecível [Nome: " + getNome() + ", Preço: R$" + String.format("%.2f", getPreco()) + ", Quantidade: " + getQuantidade() + ", Validade: " + dataValidade + "]"; } }
Classe principal (Exemplo de uso para ProdutoPerecivel):
Java
import java.time.LocalDate;
public class PrincipalProdutosPereciveis {
public static void main(String[] args) { // Criando um objeto ProdutoPerecivel ProdutoPerecivel leite = new ProdutoPerecivel("Leite Integral", 5.50, 12, LocalDate.of(2025, 6, 15)); ProdutoPerecivel iogurte = new ProdutoPerecivel("Iogurte Natural", 3.20, 20, LocalDate.of(2025, 6, 10));
// Imprimindo os valores do objeto ProdutoPerecivel
System.out.println("\n--- Produtos Perecíveis ---");
System.out.println(leite);
System.out.println(iogurte); } }
Como executar o código:
javac Produto.java PrincipalProdutos.java ProdutoPerecivel.java PrincipalProdutosPereciveis.java
Execute as classes principais para ver a saída:
Bash
java PrincipalProdutos
java PrincipalProdutosPereciveis