在这样的代码中,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);