【发布时间】:2021-12-15 11:47:01
【问题描述】:
我有类“BaseProduct” - 抽象类,“Food” - 实现 BaseProduct 和一个“Cart”,里面放了许多食物。
那么我如何将食物放入购物车以及如何添加它们的保质期折扣(保质期前 5 天,它们会获得 10% 的折扣)?
我还应该创建一个“收银员”类,该类具有打印收据的方法。该方法接受“购物车”(产品集合)以及购买日期和时间。它应该打印所有购买的产品及其价格、数量、总金额和总折扣。 如果有人提供帮助将不胜感激。
类 BaseProduct 如下所示:
public abstract class BaseProduct {
private String name;
private String brand;
private Double price;
protected BaseProduct(String name, String brand, Double price) {
this.name = name;
this.brand = brand;
this.price = price;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
}
类食物看起来像这样:
package Products.PerishableProducts;
import Products.BaseProduct;
import java.util.Date;
public class Food extends BaseProduct {
private Date expirationDate;
//sample date - 2020/04/20 -> yyyy-MM-dd
//TODO:CHECK WHETHER OR NOT YOU HAVE EXPIRATION DATE DISCOUNTS WHEN ADDING ITEMS IN CART
public Food(String name, String brand, Double price, Date expirationDate) {
super(name, brand, price);
this.expirationDate = expirationDate;
}
public Date getExpirationDate() {
return expirationDate;
}
public void setExpirationDate(Date expirationDate) {
this.expirationDate = expirationDate;
}
}
“购物车”类(购物车)如下所示:
package Cart;
import Products.BaseProduct;
import java.util.List;
public class Cart {
private static List<BaseProduct> products;
//TODO:add products
public List<BaseProduct> add(List<BaseProduct> products){
}
//TODO: remove products
}
【问题讨论】: