我有我的主要课程 PayUnit ,我在其中创建我的主要对象引用,例如 touchScreen , scale 和 barcodeReader < / strong>因为这些与我的 PayUnit 有has-a
个关系。此计算机还has-a
billDispenser ,但 billDispenser 与 currencyDispener 实际上是'is-a'关系。我是否仍在主要类中创建 billDispenser 和 currencyDispenser 对象引用,或者在 PayUnit中创建 currencyDispenser 引用然后在 currencyDispenser 类中创建 billDispenser ?
我希望这是有道理的。 OOP在这方面的标准是什么?
感谢您的帮助。
答案 0 :(得分:2)
根据您的说明,似乎无需在billDispenser
中同时提及currencyDispenser
和PayUnit
(因为它们不是单独的实体,其中一个是执行另一个)。通常的做法是定义一个协议(Java中的接口或抽象类)来描述模块的API(在您的情况下,currencyDispenser
),然后在某处提供一个工厂方法提供符合的模块该接口(在您的情况下为billDispenser
)。我希望这回答了你的问题。