2015-06-13 144 views
2

桑迪梅斯说(POODR书,第26页):包装实例变量

因为它是可能的每一个实例变量包装在一个方法,并因此治疗任何变量,如果它只是另一个对象,数据和常规对象之间的区别开始消失。

我不知道我是否理解她在解释什么。当我们定义访问器时,我们将实例变量(数据)包装在一个方法上,但方法不是对象。那么当她说我们可以将变量看作是另一个对象时,她是什么意思?

+0

这似乎没有道理。 – sawa

回答

0

数据和对象之间的主要区别是行为。对象可以在不改变其接口的情况下修改其内部状态,而数据是静态结构。

当我们在方法中包装数据访问时,我们获得了对象的相同好处 - 即使底层数据结构需要更改,接口对于消费者仍然是静态的。