トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

すっきりわかるJava入門を読む③(10章カプセル化)

 

今回は10章

スッキリわかるJava入門 第2版 (スッキリシリーズ)

カプセル化Javaのエラーを防げる仕組みの一つ。

カプセル化・継承・多様性の3つがある。

カプセル化

フィールドへの読み書きやメソッドの呼び出しを制限する機能

privateやpublicはアクセス修飾子と呼ばれる。

・フィールドはすべてprivate

・メソッドはすべてpublic

が基本

メソッドを経由したらフィールドにアクセスできる

 getterメソッド/setterメソッド

privateになっていて見えないある特定のフィールド値を取り出すためだけのメソッドをgetterメソッドといいう。

書き方の定石

publc string getName(){

return this.name;

}

逆に値を代入するだけのメソッドはsetterメソッド

publc void setName(String name){

this.name=name;

}

これにより

・ReadOnly、WriteOnlyのフィールドを実現できる

・フィールドの名前など、クラスの内部設計を自由に変更できる

・フィールドへの入力が適切かをsetterで検査できる

if(name==null){

//処理を中断

}

みたいに、フィールドに設定されようとしている値が妥当かを場合分けで検査して、変な動作しないようにする

package private

publicやprivateなどを何も書いていなかったら、package ptivate(自分と同じパッケージに属するクラスへのアクセスを許可)に自動になる

 

一つのファイルに一つのpublicクラス

ファイル名=public クラス名

 

publicクラスがないなら、ファイル名は自由でいいし、一つのファイルに複数のクラスがあっていい。

 

まとめ

フィールドはprivateとして外部から隠し、setter/getterメソッド経由でアクセスする

これがカプセル化

バグをなくすために大事

 

bibinbaleo.hatenablog.com