有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    使用OOP

    备选案文1:

    创建一个抽象类Item,其属性为namepriceFoodDrinksMiscs将扩展Item

    Cart类的属性为itemList,它将保存项列表

    public class Cart {
      List<Item> itemList = new ArrayList<>();
      //getter setter
      public void add(Item item) { 
         itemList.add(item);
      }
    
    }
    

    备选案文2:

    创建一个iterface Item,这样FoodDrinksMiscs将实现Item Cart类基本保持不变