美人すぎない化粧品販売員がアプリ開発を目指す

Javaの構文、オブジェクト指向、APIなど、プログラミング初心者の私がアプリ開発までに理解したことをまとめたブログ

カプセル化の基本

オブジェクト指向のプログラミングでは、効率良く、安全にコードを書く仕組みが大きく分けると3つある。

 

1つ目

 

カプセル化

   

フィールドへの読み書きやメソッドの呼び出しを制御する機能(アクセス制御)

 

ex. このメソッドはAクラスからは呼び出し可だが、Bクラスからは不可

  このフィールドは読めるが、書き替えは禁止

 

 

 

〈このような制御をかけることでのメリット〉

 

 制御があると、ミスが減る/防止出来る

        ミスが出ても、どこで起こったかがすぐ分かる

  (動かせる部分が決まってくるので(制御されていないところだけ)、

                  元をたどればどこでミスしたか分かる)

 

※ 人間は必ずミスをするので、未然にミスを防ぐ仕組みを作っておく必要がある

 

 

このアクセス制御には、制御のレベルが4段階がある

 

 〈制限厳しい〉

 

 private... 自分自身のクラスのみ許可

 

 package private.... 自分と同じパッケージに属するクラスまで許可

 (↑何も書かないと、自動でこれになる。あえて記述しなくてもOK)

 

 protected.... 自分と同じパッケージに属するか、自分を継承した小クラスでも許可

 

  public....全てのクラスから許可

 

〈制限が緩い〉

 

このprivate/protected/publicを、「アクセス修飾子」と呼ぶ。

 フィールドやメソッドを宣言する際、先頭に記述する

 

 

〈構文〉

 

 フィールド

 アクセス修飾子 フィールド名;

 

    メソッド

 アクセス修飾子 メソッド名{

 

 

アクセス修飾子はとりあえず下記のようにしておけばOK

 

クラスは必ず全て public

 

ex.勇者は戦うのが仕事なので、頻繁にいろいろなクラスから呼び出される可能性がある→どのクラスからも呼び出せるようにしておく

      public void attack(Slimes){//スライムに攻撃するメソッド

 

  

メソッドは基本的には全て public

 

... 最初このように指定しておいて、その後クラスの内部だけしか利用しないメソッドをprivateに直していく(大枠で概要決めて、後から細かく微調整していくイメージ)

 

 

 

フィールドは全て private