【发布时间】:2017-11-04 11:31:43
【问题描述】:
我正在制作一个 JavaFX 应用程序来跟踪公司库存。用户可以添加/删除/修改零件和产品。
part 和 product 类具有属性以及 getter 和 setter 方法,但是 Part 类是 Abstract -
Product Part<Abstract>
id id
name name
price price
min min
max max
get/set get/set
我有 3 个显示在表格视图中的数组列表 -
private ObservableList<Part> allParts = FXCollections.observableArrayList();
private ObservableList<Product> products = FXCollections.observableArrayList();
private ObservableList<Part> associatedParts = FXCollections.observableArrayList();
当 Part 是抽象类且无法实例化时,如何将新 Part 添加到 allParts 和 associatedParts 数组列表中?
我如何将某些部件与某些产品相关联?每个产品必须始终有一个或多个关联部件。
【问题讨论】:
-
您可以将
Part的任何子类型放入列表中。如果Foo是Part的一个子类型,那么如果一个实例是一个Foo,它是一个Part。这是传承的核心和灵魂。请参阅 Liskov 替换原则。 -
Java 抽象列表可能是一个完美的例子。例如:
List<String> list = new ArrayList();和List<String> list2 = new LinkedList();