求教大家:有关对象的属性 VS 对象方法的参数

一个对象会和别的对象交互,我应该用对象的属性还是用方法的参数来进行数据交互呢?
例如:我有个做加法的对象,1、我可以赋值给属性A和B,然后调用运算方法ADD。2、我可以直接调用方法ADD(A,B)。
那种设计会比较好呢?有什么准则吗?
例子也许不恰当,只是为了说明问题。希望大家不吝赐教!

对象的属性是不应该被其他对象直接访问的,这是约定。

非常感谢banq 不吝赐教!
对于你说的,还有点不太理解:
对象的属性和PUBLIC的方法是对象和外界交互的途径,外界可以设置对象的属性或者调用对象的PUBLIC方法,来和对象进行交互。
你所说的不应该被其他对象直接访问,是指属性应该通过SET和GET方法才可以吗?
学识浅薄,希望banq 多多指教,感谢!

我觉者应该根据类的性质,和方法的功能来判断。如果你提出的两者很难区分,我喜欢用形参而不用属性。

对象的属性和PUBLIC的方法是对象和外界交互的途径,外界可以设置对象的属性或者调用对象的PUBLIC方法,来和对象进行交互。
------------------------------------------------------
属性应该都为 private ,利用public seter、geter 来读取属性。

觉的用参数传递比较好

i like to use the UML language to explain the difference: in class design, if the object interacts with outside by using properties, here we get an Aggregate or Composite relationship, if it does this by using method's arguments, it is a simple Association relationship.

if using properties to interact with the object, there is a possible concurrency problem in multi-thread environment.