java - 如何将 ferrari 和 rollsroyce 类别添加到我的 ArrayList
问题描述
我正在开发一个“在线购物商店”,并且我有一个包含通用属性和方法的抽象产品类,由充当“产品类别”的子类继承,例如电话。
我有另一个名为 ProductDatabase 的类,其中包含用于存储 Product 对象的 ArrayList。在这个类中,我有一个方法 'public put(Product)' 用于提供将产品添加到数据库的功能。
在我的主类中,我有'public static ProductDatabase generateSampleDatabase(),它初始化并返回带有产品的 ProductDatabase 对象。
解决方案
与其让你ProductDatabase
持有一个你的集合,Vehicles
不如让它持有一个泛型类型,例如任何实现产品接口的对象。 ArrayList<? implements Product>
是你如何声明这个集合。然后你可以这样声明你的车辆类:public class Vehicle implements Product
现在显然这取决于您的系统设计以及您认为对象图的外观,但这只是一个一般概念。希望这可以帮助
推荐阅读
- python - 如何在 matplotlib/pyplot 中绘制双色线?
- flutter - 在flutter中从子选项卡动态设置appbar动作
- resharper - 如何让 ReSharper 停止在我的调用中删除空白行?
- python - 如何仅在字符串的开头/结尾替换非字母数字字符?
- java - 为什么在方法中比较字符串不起作用?
- python-3.x - 如何根据另一个数据框中的条件对一个数据框中的值进行分组?
- postgresql - createdb / pg_restore 有错误:必须是扩展的所有者
- r - 使用带有日志链接的 tweedie 分发时 glm.fit 出错
- react-native - 是否可以在 React Native 的单独线程中预渲染复杂组件?
- django - Django中是否有logout_required相当于login_required?