#java #oop #terminology #getter-setter
#java #ооп #терминология #получатель-установщик
Вопрос:
В таком коде setValue
метод обычно вызывается как «установщик» в целом, но как 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);}
}
Комментарии:
1. Ваш пример неразрушающего установщика ничего не устанавливает.
2. Я иногда называю их «withers» (как в getter, setter, «hazzer» [как в буфере протокола «has»], «izzer» [как в логическом методе is]). Однако это не универсальные термины.
3. Кроме того, «холка» является частью лошади. Остановите меня, если я не помогаю.
4. У Ломбока есть эта функция.
Ответ №1:
Обычный префикс для этих методов with
:
MyClass alternateVersion = myClass.withValue(5);
Комментарии:
1. Спасибо. Я изменил имя метода valueChanged -> withValue .