JavaScriptのOOPにおける継承時のプライベートプロパティ
プライベートプロパティは継承されません。 しかし、子クラスは親クラスのパブリックメソッドを通じて それらを操作することができます。 実際の例を見てみましょう。 以下のように、プライベートプロパティとそのゲッター、 セッターを持つ親クラスがあるとします:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
この親クラスを継承する子クラスを 次のように作成します:
class Student extends User {
}
子クラスのオブジェクトを作成します:
let student = new Student;
親クラスのメソッドを利用して、 そのプライベートプロパティに値を設定します:
student.setName('john');
親クラスのメソッドを利用して、 そのプライベートプロパティの値を読み取ります:
let name = student.getName();
console.log(name);
以下の親クラスがあるとします:
class User {
#name;
#surn;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
setSurn(surn) {
this.#surn = surn;
}
getSurn() {
return this.#surn;
}
}
この親クラスを継承する
Employeeクラスを作成してください。
Employeeクラスのオブジェクトを作成し、
継承されたセッターとゲッターを呼び出してください。
Employeeクラスに
次のメソッドを追加してください:
getFull() {
return this.#name + ' ' + this.#surn;
}
このメソッドのコードがエラーを引き起こすことを 確認してください。