出典(authority):フリー百科事典『ウィキペディア(Wikipedia)』「2016/05/02 21:56:23」(JST)
この項目では、オブジェクト指向での概念について説明しています。コンピュータネットワークの通信プロトコルに関する概念については「カプセル化 (通信)」をご覧ください。 |
カプセル化(カプセルか、encapsulation)とは、オブジェクト指向を構成する概念の一つ。オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、オブジェクトの実際の型を隠蔽したりすることをいう。データ隠蔽と勘違いされやすいが、データ隠蔽はカプセル化の具体例の1つにすぎず、同一のものではない。
やや人工的ではあるが、データ隠蔽の例として、色を表すオブジェクトを考えてみる。
カプセル化の第一の利点は変更に対する耐久性である。いま色の内部表現がRGB (光の三原色) で保持されているとして、これが何らかの都合でCMYK (色の三原色) に変更されたとする。外部のプログラムがデータ内部に直接アクセスを行っていた場合、このデータにアクセスしていたすべての箇所を同時に変更しなければならない。しかし公開メソッドを用いていれば、変更は内部表現から外部表現への公開メソッド内のみで済み、変更の影響を局所にとどめる事ができる。
第二の利点は概念の抽象化である。そもそも「色」という概念にとって、その内部表現がRGBであるかCMYKであるかは主要な問題ではなく、必要なら望みの形式がとりだせる抽象的な「色」であることが望ましい。加えて、その他の表現形式が追加されたとしても「色」の意味は変化するべきではない。このように、できるだけ形式と意味を分離する手段としてカプセル化は有効である。
ウィクショナリーにカプセル化の項目があります。 |
この項目は、コンピュータに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています(PJ:コンピュータ/P:コンピュータ)。 |
全文を閲覧するには購読必要です。 To read the full text you will need to subscribe.
リンク元 | 「capsulation」 |
関連記事 | 「カプセル」 |
.