Segue a resolução do exercício.
Classe Produto:
public class Produto {
private String nome;
private double preco;
private int 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;
}
public Produto(String nome, double preco, int quantidade) {
this.nome = nome;
this.preco = preco;
this.quantidade = quantidade;
}
@Override
public String toString() {
return "Produto{" +
"nome: " + nome +
", preco: " + preco +
", quantidade: " + quantidade +
'}';
}
}
Classe ProdutoPerecivel:
import java.time.LocalDate;
public class ProdutoPerecivel extends Produto{
private LocalDate
dataDevalidade;
public ProdutoPerecivel(String nome, double preco, int quantidade, LocalDate dataDevalidade) {
super(nome, preco, quantidade);
this.dataDevalidade = dataDevalidade;
}
public LocalDate getDataDevalidade() {
return dataDevalidade;
}
public void setDataDevalidade(LocalDate dataDevalidade) {
this.dataDevalidade = dataDevalidade;
}
@Override
public String toString() {
return "ProdutoPerecivel{" +
"nome: " + this.getNome() +
", preco: " + this.getPreco() +
", quantidade: " + this.getQuantidade() +
", data de validade: " + dataDevalidade +
'}';
}
}
Classe Main:
import java.time.LocalDate;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<Produto> produtos = new ArrayList<>(3);
Produto p1 = new Produto("Colgate", 1.92, 100);
Produto p2 = new Produto("Escova de Dente", 7.75, 67);
Produto p3 = new Produto("Listerine", 19.90, 200);
produtos.add(p1);
produtos.add(p2);
produtos.add(p3);
System.out.println("Tamanho da lista: " + produtos.size());
System.out.println("Impressão dos produtos da lista (toString()): ");
for (int i = 0; i<produtos.size();i++) {
System.out.println(produtos.get(i));
}
ProdutoPerecivel perecivel = new ProdutoPerecivel("Tomate",3.20,200, LocalDate.of(2025, 1, 10));
System.out.println("Produto perecível toString(): " + perecivel);
}
}
Output:
Tamanho da lista: 3
Impressão dos produtos da lista (toString()):
Produto{nome: Colgate, preco: 1.92, quantidade: 100}
Produto{nome: Escova de Dente, preco: 7.75, quantidade: 67}
Produto{nome: Listerine, preco: 19.9, quantidade: 200}
Produto perecível toString(): ProdutoPerecivel{nome: Tomate, preco: 3.2, quantidade: 200, data de validade: 2025-01-10}
Process finished with exit code 0