【发布时间】:2009-08-29 11:03:22
【问题描述】:
我正在讨论正确的 OO 设计,以使用来自 java 类的另一个对象的功能(方法),同时尽可能地保持两个对象解耦。
例如,在我的类中的某个时刻,为了实现我的逻辑,我需要调用一个属于另一个对象的方法,比如一个辅助类。这个帮助类不需要与我的原始类有任何关系,它只是有一个特定的方法,它对我的类可见并且可供我的类使用。
逻辑实现后,下线就不需要辅助方法(或辅助对象)了。
显然,为了使用它的方法,我需要一个对这个帮助对象的引用。但是为了强制封装,我不应该在我的原始类中声明一个实例变量来引用这个助手对象吗?这个推理正确吗?此外,助手类不知道任何可能使用它的客户端类。
在这种情况下,局部变量会更合适吗?在将使用其功能的方法中声明并实例化辅助对象?在我的原始类中声明和实例化此类帮助对象的最佳位置在哪里?
我想知道是否有一个高级示例,或者是否在 OO 文章中对此进行了更详细的解释。对于上述任何以封装为中心的输入或提示,我将不胜感激。
【问题讨论】:
-
如果您的示例更具体,将会有所帮助。使用一些伪代码让我们更好地了解您的意图。
-
我会尝试给出一个伪代码示例
标签: java oop encapsulation