我正在尝试使用销售,退款等功能对在线商店进行建模。我的代码正常运行,但每次促销仅限1件商品。但是,我希望每次销售的商品数量与正常的购物体验一样。
我想过使用普通数组,但后来改为ArrayList;但是我想不出一个正确的方法,我可以将Items传递给这个数组,以及它应该如何在代码中进行布局。我见过其他人问过这类问题,但是我发现实际的对象没有找到好运。
标准项目扩展为书籍,地图或DVD,书籍定义如下:
Item book = new Book(40,4, 23.99, "G R R Martin", "One of the Game of Thrones Books", 893);
图书构造函数
public Book(int stockNum, int totalSold, double cost, String author, String title, int pages) {
super(stockNum, totalSold, cost);
this.author = author;
this.title = title;
this.pages = pages;
}
Sale.java - 代码已经过简化以用于演示目的
public class NewSale {
private static numSales = 0;
private int customerId, saleId;
private List<Item> itemList = new ArrayList<>();
private double subtotal;
public NewSale(List<Item> itemList, int customerId) {
this.saleTime = saleTime;
this.customerId = customerId;
this.itemList = itemList;
for (Item i : itemList) {
this.subtotal += i.getCost();
}
numSales++;
this.saleId = numSales;
}