【问题标题】:How may I add both ferrari and rollsroyce categories to my ArrayList<Product>如何将 ferrari 和 rollsroyce 类别添加到我的 ArrayList<Product>
【发布时间】:2019-10-09 00:03:38
【问题描述】:

我正在开发一个“在线购物商店”,我有一个包含通用属性和方法的抽象产品类,由充当“产品类别”的子类继承,例如电话。

我有另一个名为 ProductDatabase 的类,其中包含用于存储 Product 对象的 ArrayList。 在这个类中,我有一个方法 'public put(Product)' 用于提供将产品添加到数据库的功能。

在我的主类中,我有'public static ProductDatabase generateSampleDatabase(),它初始化并返回带有产品的 ProductDatabase 对象。

https://i.imgur.com/eQB64eT.png

https://i.imgur.com/1GAuD02.png

【问题讨论】:

  • 您的 VehicleLuxury 和 VehicleSports 与 Vehicle 的类型相同吗?
  • 请在问题中发布您的代码,而不是在图片中

标签: java arrays


【解决方案1】:

除了让您的ProductDatabase 持有Vehicles 的集合之外,您还可以让它持有一个泛型类型,例如实现产品接口的任何对象。 ArrayList&lt;? implements Product&gt; 是您声明此集合的方式。然后你可以这样声明你的车辆类:public class Vehicle implements Product

现在显然这取决于您的系统设计以及您认为对象图的外观,但这只是一个一般性的想法。希望这会有所帮助

【讨论】:

    猜你喜欢
    • 2020-11-08
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多