Slide 5
Slide 5 text
5
Reconstruction expressions (作業中)
● Record は不変のデータ保持者であり、"getter "を内蔵する
● 不変オブジェクトの "setter "に相当するものは何か?
○ setterは、可変オブジェクトに対して「このプロパティを分離して変更」を意味する
○ 不変オブジェクトに相当するものは、既存のオブジェクトをコピーする。
しかし、指定された要素には異なる値が設定される。
■ 「Point p のコピーだが、x 要素はゼロに設定される」
● Record の “wither "のメソッドを書いてもらうこともできる。
● しかし、まずい!
○ せっかくエラーになりやすい定型文をなくしたのに、また増やすのか?
record Point(int x, inty) {
Point withX(int newX) { return new Point(newX, y); }
Point withY(int newY) { return new Point(x, newY); }
}
P. 35