假设对象1需要来自对象2的信息。我会说它在Object2属性中,但是信息可以很容易地成为Object2函数的返回值。当我查看其他人的代码时,有时会看到他们在Object1中有一个直接访问该属性的方法。有时我看到人们将Object2作为方法中的参数传递,然后从传递的Object2中访问属性。
在我看来,这些情况几乎相同。直接访问该属性似乎更简单。作为一个新手,您在决定如何从Object2获取信息时应该考虑什么呢? (我什么时候想要一个对象参数而不是直接访问该属性?)
谢谢-Al C.
最佳答案
将Object2传递给Object1的一个问题是,您在Object2和Object1之间创建了依赖关系。 Object1可以获取其所需数据的唯一方法是对Object2的引用。
现在,有时候您会想要,但是大多数时候您都不想要。因此,最好是简单地将所需的值作为参数传递给方法,而不是传递Object2的实例。
关于OOP新手: Accessing Fields Directly vs.将对象作为参数传递,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/917115/