Compartilhando minha resolução.
/**
* 1. Crie uma classe Produto com atributos como nome, preco, e quantidade. Em seguida,
* crie uma lista de objetos Produto utilizando a classe ArrayList. Adicione alguns produtos,
* imprima o tamanho da lista e recupere um produto pelo índice.
* 2. Implemente o método toString() na classe Produto para retornar uma representação em texto do objeto.
* Em seguida, imprima a lista de produtos utilizando o método System.out.println().
* 3. Modifique a classe Produto para incluir um construtor que aceite parâmetros para inicializar os atributos.
* Em seguida, crie objetos Produto utilizando esse novo construtor.
* 4. Crie uma classe ProdutoPerecivel que herde de Produto. Adicione um atributo dataValidade
* e um construtor que utilize o construtor da classe mãe (super) para inicializar os atributos herdados.
* Crie um objeto ProdutoPerecivel e imprima seus valores.
*/
package desafios.desafio02;
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;
}
@Override
public String toString() {
return """
----------|PRODUTO|----------
Nome: %s
Preço: R$%.2f
Quantidade: %d
""".formatted(nome, preco, quantidade);
}
}
package desafios.desafio02;
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;
}
@Override
public String toString() {
return super.toString() + "Validade: " + dataValidade;
}
}
package desafios.desafio02;
import java.util.ArrayList;
public class Principal {
public static void main(String[] args) {
Produto produto1 = new Produto("Celular", 1199.99, 12);
Produto produto2 = new Produto("Televisão", 670.00, 23);
Produto produto3 = new Produto("PlayStation 4", 1799.99, 30);
Produto produto4 = new Produto("Computador", 2999.99, 15);
ProdutoPerecivel produtoPerecivel =
new ProdutoPerecivel("Chocolate", 9.99, 20, "10/10/2026");
ArrayList<Produto> listaDeProdutos = new ArrayList<>();
listaDeProdutos.add(produto1);
listaDeProdutos.add(produto2);
listaDeProdutos.add(produto3);
listaDeProdutos.add(produto4);
listaDeProdutos.add(produtoPerecivel);
System.out.println("A lista tem " + listaDeProdutos.size() + " produtos.");
for (int i = 0; i < listaDeProdutos.size(); i++) {
System.out.println(listaDeProdutos.get(i));
}
}
}
Beleza?