- 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.
Lembrando que está em inglês por preferência e opção pessoal. Dá para se notar que tudo que for mostrado no terminal será mostrado em português.
public class Product {
private String name;
private double price;
private int quant;
public Product(String name, double price, int quant) {
this.name = name;
this.price = price;
this.quant = quant;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getQuant() {
return quant;
}
public void setQuant(int quant) {
this.quant = quant;
}
public double priceTot(){
double priceTot = this.quant * this.price;
return priceTot;
}
public String toString() {return "\nLista de Produtos: "+ getName() + "Preço total a se pagar: R$ "+priceTot() ; } // toString() serve para converter um objeto em sua representação textual, ou seja, em uma string
}
public class PerishableProduct extends Product{
private String expirationDate;
public String getExpirationDate() {
return expirationDate;
}
public void setExpirationDate(String expirationDate) {
this.expirationDate = expirationDate;
}
public PerishableProduct(String name, double price, int quant, String expirationDate) {
super(name, price, quant);
this.expirationDate = expirationDate;
}
@Override
public String toString() {
return "\nLista de Produtos: "+ getName() + "\nPreço total a se pagar: R$ "+priceTot() + "\nData de validade: "+getExpirationDate();
}
}
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
Product product = new Product("Coca-Cola 2l",8.50,1 ); //Produtos reais, mas com preços fictícios :)
//product.setName("Coca-Cola 2l"); // Codigo comentado para apenas ver a diferença
//product.setPrice(8.50);
//product.setQuant(1);
Product product2 = new Product("Café Pilão (500g)",16.90, 2 );
//product2.setName("Café Pilão (500g)");
//product2.setPrice(16.90);
//product2.setQuant(2);
Product product3 = new Product("Detergente Ypê (500ml)",2.90, 1);
//product3.setName("Detergente Ypê (500ml)");
//product3.setPrice(2.90);
//product.setQuant(1);
ArrayList<Product> listProducts = new ArrayList<>();
listProducts.add(product);
listProducts.add(product2);
listProducts.add(product3);
System.out.println("Tamanho da lista de produtos: "+listProducts.size());
System.out.println("Segundo produto da lista: "+listProducts.get(1).getName());// getName() para conseguir vizualizar o nome do produto corretamente
System.out.println(listProducts);
PerishableProduct perishableProduct = new PerishableProduct("Arroz Tio João (5kg)",24.90, 3,"2026/12/10");
System.out.println(perishableProduct);
}
}