6.

カプセル化の概念と必要性

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

本稿はカプセル化に関する記事です。

 

カプセル化とは

カプラセル化とはオブジェクト(クラス)の保持するプロパティ(変数)を外部から直接参照、更新できないようにすることです。

外部から変数を直接操作させいないということは、変数のアクセス修飾子はprivateとなります。

オブジェクトの保持する変数の値を変更するにはオブジェクトが用意したメソッドを使用します。

主にgetter, setterメソッドと呼ばれるものです。(詳細は後述)

メソッドのアクセス修飾子はpublicのように外部から変更できるものにします。

 

なぜカプセル化が必要なのか?

通常、変数に値を代入する際は、データ型が合えば代入可能です。

しかし、例えば、あるクラスのある変数には数値の1~10までしか代入させたくない、という場合があるとします。

この場合、変数に値を直接を代入させると1~10の範囲チェックを行うことができません。

しかし、setterメソッド(変数に値を代入する用のメソッド)を定義すれば、メソッド内で引数として受け取った値が範囲内であるかどうかをチェックすることができます。

getterメソッド(変数の値を参照する用のメソッド)も同様で、変数から直に値を取得したくない場合はメソッド内で値を加工してreturnさせることができます。(日付の表記など)

このようにカプセル化の概念通りオブジェクトを設計すれば、オブジェクトの変数は想定した通りの設定値と取得値にすることができます。

 

子ページ
子ページはありません
同階層のページ
  1. オブジェクト指向の概念
  2. 継承の概念と必要性
  3. ポリモーフィズム(多様性)の概念と必要性
  4. 抽象クラスの概念と必要性
  5. インターフェースの概念と必要性
  6. カプセル化の概念と必要性

最近の質問

コメント一覧

コメントがありません

ログインしなければコメント投稿はできません。