- 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.
- 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().
- 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.
- 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.
- Classe Produto:
public class Produto {
private String nome;
private double preco;
private int quantidade;
public Produto(){
}
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 "Nome do Produto: %s\nPreço: %.2f\nQuantidade: %d\nValor Total: %.2f\n".formatted(nome,preco,quantidade,ValorTotal());
}
public double ValorTotal(){
double valorTotal = this.preco * this.quantidade;
return valorTotal;
}
}
- Classe ProdutoPerecivel:
public class ProdutoPerecivel extends Produto{
private int dataValidade;
public ProdutoPerecivel(int dataValidade) {
this.dataValidade = dataValidade;
}
public ProdutoPerecivel(){
}
public ProdutoPerecivel(String nome, double preco, int quantidade, int dataValidade) {
super(nome, preco, quantidade);
this.dataValidade = dataValidade;
}
public int getDataValidade() {
return dataValidade;
}
public void setDataValidade(int dataValidade) {
this.dataValidade = dataValidade;
}
@Override
public String toString() {
return super.toString() + "Data de validade: "+dataValidade+"\n";
}
}
- Main:
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
var produto = new Produto();
var produto2 = new Produto("Red bull",11.9,2);
var produtoPerecivel = new ProdutoPerecivel("Monster",8.9,3,2025);
var produtoPerecivel2 = new ProdutoPerecivel("Fandangos",5.3,1,2026);
var produtoPerecivel3 = new ProdutoPerecivel("Trident",10.9,5,2028);
produto.setNome("Trakinas");
produto.setPreco(4.99);
produto.setQuantidade(5);
ArrayList<Produto> listaDeProdutos = new ArrayList<>();
listaDeProdutos.add(produto);
listaDeProdutos.add(produto2);
System.out.println(listaDeProdutos.size());
System.out.println(listaDeProdutos.get(1).toString());
System.out.println();
ArrayList<ProdutoPerecivel> listaDePericivel = new ArrayList<>();
listaDePericivel.add(produtoPerecivel);
listaDePericivel.add(produtoPerecivel2);
listaDePericivel.add(produtoPerecivel3);
System.out.println(listaDeProdutos.toString());
System.out.println();
System.out.println(listaDePericivel.toString());
}
}