getterとsetterについて学んだのでアウトプットします。
getterとsetterとは
getterとsetterとはクラスで内で private や protected で定義されたものに対して外部からアクセスできるようにするメソッドです。
以下、参考です↓
getterメソッドとは - IT用語辞典
getterメソッド【ゲッターメソッド / getアクセサ】とは、オブジェクト指向プログラミングで、オブジェクト内部のメンバ変数(属性、プロパティ)を外部から読み取るために用意されたメソッド。メンバ変数をオブジェクト内部に隠蔽し、外部から直...
getterとsetterの書き方
getterとsetterは以下のように記述します。getterは値を返す必要があるため return で何かしらの値を返す必要があります。
get メソッド名(){
return 〇〇;
} //getterには return で何かしらの値を返す必要があります。
set メソッド名(引数){ }
//setterには引数が必要です。
getterとsetterにアクセスする
実際にgetterとsetterにアクセスする例を見ていきます。
getter
getterにアクセスするには以下のように humamHeight.nowHeight と記述します。本来、メソッドにアクセスする場合「メソッド名()」と記述しますがgetterにアクセスする場合 () は必要ありません。
class Humam {
private height: number;
get nowHeight(){
return this.height
}
addHeight(input:number){
this.height = input;
}
}
const humamHeight = new Humam();
humamHeight.addHeight(175); //getterの呼び出し
console.log(humamHeight.nowHeight); //175
setter
setterを使用する場合 humamHeight.inputHeight = 180; のように値を代入するような形で記入します。こちらも () は不要です。
class Humam {
private height: number;
get nowHeight(){
return this.height
}
set inputHeight(value: number){
this.addHeight(value);
}
addHeight(input:number){
this.height = input;
}
}
const humamHeight = new Humam();
humamHeight.inputHeight = 180; //setterの呼び出し
console.log(humamHeight.nowHeight); //180
getterとsetterを利用するすればより安全にクライス内のプロパティにアクセスすることができるようになります。