有没有一个更简单的术语代表"non-destructive setter"?



在这样的代码中,setValue方法通常被称为"setter";一般来说,但是withValue方法(即返回字段已更改的新对象(通常是如何调用的?

class MyClass {
private int value;
public MyClass(int value) {this.value=value;}
// a getter
public int getValue() {return value;}
// a (destructive) setter
public void setValue(int value) {this.value=value;}
// a (non-destructive) setter <- Is there a simpler term than this? 
public MyClass withValue(int value) {return new MyClass(value);}
}  

这些方法的常用前缀是with:

MyClass alternateVersion = myClass.withValue(5);

相关内容

最新更新