Bom galera, sou novo aqui e estou começando a aprender Java.
Tenho um exercício da faculdade para fazer só que encontrei dificuldade em um determinado ponto.
O desafio é criar um Shopping Cart, onde tenho uma classe “ShoppingCart” que contém uma interface “Product” que é implementada por outras duas classes, “Book” e “Cloth”, além de ter uma classe gerada entre o relacionamento entre “ShoppingCart” e “Product”, chamada de “ShoppingCartItem”.
“ShoppingCartItem” possui um método que deve me retornar uma lista de produtos criados que pode ser “Book” ou “Cloth”, com suas quantidades e seus totais separadamente. Mas não consigo fazer com que uma ArrayList seja criada para cada 1ª instancia desses produtos não sendo permitida a entrada de um “Book” em uma lista de “Cloth” ou vice-versa.
a classe “ShoppingCartItem”:
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
public class ShoppingCartItem{
ArrayList<Product> cProduto = new ArrayList<Product>();
BigDecimal total = new BigDecimal(0);
public void addProduto(Product p){
this.cProduto.add(p);
}
public BigDecimal getQuantity(){
return new BigDecimal(this.cProduto.size());
}
public BigDecimal getTotal(){
for (Product p : cProduto) {
this.total = this.total.add(p.getPrice());
}
return this.total.setScale(2, RoundingMode.HALF_EVEN);
}
}
Agradeço desde já!