如何使对象全局可用于其他类

时间:2014-03-29 22:47:10

标签: java oop

在我的main方法中,我首先创建一个对象X

稍后在同一个main方法中,我创建了几个所有需要知道对象X的对象(A,B和C)。现在,我将对象X的引用传递给类A的构造函数, B和C.

这很好用,但我想知道,在OOP的精神下,是否有更好的方法可以将对象X全局提供给其他类?

1 个答案:

答案 0 :(得分:1)

OOP'的精神中没有任何东西。这样可以使对象全局可用,而不是需要它的对象。实际上,良好编程的精神期望您只能将对象提供给需要它们的人。如果您使对象全局可用,则无法保证在任何时候任何其他对象都将对其进行修改。即使它是不可修改的,你也无法控制对象的用途,因此必须对维护进行更严格的控制。

在这种情况下,正确的做法正是你在做什么。明确地传递对象的引用,理想情况是在它们的构造函数中。如果对象在构造时可用,则完全有意义。

如果你在其他一些情况下发现你确实需要在全球范围内提供课程,并且你无法找到解决方法,那么单身人士可能是最好的方法。但是,只有在没有别的办法时才这样做。