JavaScriptにおけるオブジェクト指向プログラミングの保護されたプロパティ
保護されたプロパティについても導入しましょう。 それらの名前もアンダースコアで始めることにします。 例を見てみましょう。保護されたプロパティとして年齢を含む 親クラスを作成します:
class User {
setAge(age) {
this._age = age;
}
getAge() {
return this._age;
}
}
子クラスでは、年齢を1つ増やすメソッドを 作成します:
class Student extends User {
incAge() {
this._age++;
}
}
以下のコードを保護されたプロパティを使用して 書き直してください:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
class Employee extends User {
setName(name) {
if (name.length > 0) {
this.#name = name;
}
}
}