JavaScriptにおけるOOPのプロパティゲッター
プライベートプロパティを持つ以下のクラスがあるとします:
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
}
ご覧の通り、これらのプロパティはオブジェクト作成時に一度設定されます。しかし現在、これらのプロパティを読み取ることはできません。なぜならプライベートであり、それらを読み取るための適切なメソッドが存在しないからです。
これらのプロパティを読み取ることを可能にする特別なメソッドを作成しましょう。そのようなメソッド(<ゲッター>と呼ばれます)は単語<get>で始まり、その後には読み取るプロパティの名前が続くべきです。
プロパティのゲッターを作成しましょう:
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
getName() {
return this.#name;
}
getSurn() {
return this.#surn;
}
}
それらの動作を確認しましょう。 オブジェクトを作成し、パラメータとしてユーザーデータを渡します:
let user = new User('john', 'smit');
ゲッターを使用してこれらのデータを読み取りましょう:
console.log(user.getName());
console.log(user.getSurn());
<Employee>クラスで、名前、給料、年齢の3つのプライベートプロパティを作成してください。
コンストラクタのパラメータとしてこれらのプロパティの値を渡してください。
各プロパティの値を出力するゲッターを作成してください。