分两种情况,属性为不可变和可变
1. 例如一个ADT Graph, 不能直接使用Graph.lenth (lenth为Graph中的一个属性),应该使用Graph.getLength()
public int getLength() {
return this.length
}
int length 为不可变(基本数据类型都为不可变), 可以直接return
2. 如果ADT的field中有如下定义
public class Graph {
Date date;
int length;
}
Date是一个可变类型,那么我们使用修改函数进行修改时,需要返回一个新的修改的对象,而非对其直接进行修改
无论可变不可变,return的一定是immutable的