java如何在抽象arraylist中添加抽象arraylist
所以我有这个问题。我想制作购物车程序。我申报3类,如食品、饮料和杂项。这些类成为客户购买的物品类型。每个类都包含字符串名称和int price。然后是一个Cart类,用于列出客户购买的商品,还具有字符串名称和int Price
我想在主课堂上写作,比如:
public class main{
public static void main(String[] args){
Arraylist<Cart> Cart = new Arraylist();
Foods Food1 = new Foods("Bread", $10);
Foods Food2 = new Foods("Waffle", $8);
Drinks Drink1 = new Drinks("Coke", $9);
Drinks Drink2 = new Drinks("Sprite", $7);
Miscs Miscs1 = new Miscs("Soap", $5);
Miscs Miscs2 = new Miscs("Shampoo", $5);
Cart.add(Food1);
Cart.add(Food2);
Cart.add(Drink1);
Cart.add(Drink2);
Cart.add(Miscs1);
Cart.add(Miscs2);
}}
我需要创建一个方法,将这些数据类型添加到cart类中的arraylist中。但是如果我写
public void add(Arraylist <Cart> cart){
}
它只会收到购物车类型的数据,所以我不能输入食品或饮料,或杂项类型的数据,甚至有相同的细节,如名称和价格
# 1 楼答案
使用OOP
备选案文1:
创建一个抽象类
Item
,其属性为name
和price
。Food
、Drinks
和Miscs
将扩展Item
Cart
类的属性为itemList
,它将保存项列表备选案文2:
创建一个
iterface Item
,这样Food
、Drinks
和Miscs
将实现Item
Cart
类基本保持不变