0

我有我的主类PayUnit,我在其中创建我的主要对象引用,例如touchScreenscalebarcodeReader因为这些是has-a我的PayUnit的关系。这台机器也是has-a billDispenserbillDispenser实际上是与currencyDispener的“is-a”关系。我仍然在主类中创建billDispensercurrencyDispenser对象引用,还是在PayUnit中创建currencyDispenser引用,然后在currencyDispenser中创建billDispenser班级?

我希望这是有道理的。OOP在这方面的标准是什么?

谢谢您的帮助。

4

1 回答 1

2

根据您的描述,似乎没有必要同时引用billDispensercurrencyDispenserin PayUnit(因为它们不是单独的实体,其中一个是另一个的实现)。一种常见的做法是定义一个协议(Java 中的接口或抽象类)来描述模块的 API(在您的情况下,currencyDispenser),然后在某处有一个工厂方法提供符合该接口的实现(billDispenser在您的案子)。我希望这回答了你的问题。

于 2012-07-04T17:28:31.673 回答