- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:カプセル化の定義)
カプセル化の定義とは?
このQ&Aのポイント
- カプセル化とは、属性と操作を一体化させて表現することを指します。属性が非公開属性であれば、それをカプセル化と呼びます。
- 一般的には、カプセル化は情報隠蔽のみを指すことが多いですが、他の言語では操作まで含めて定義する場合もあります。
- カプセル化の定義には個人個人の解釈や考え方によるズレがある場合があります。Javaの立場から一般的な定義を示せば参考になるでしょう。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
http://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96 私も上記URLの行ってる事かと思います。 更に発展してbearnsという考えになります。 以上、ご参考まで。
その他の回答 (2)
- askaaska
- ベストアンサー率35% (1455/4149)
回答No.3
カプセル化をシンプルに言い表すと 必要なもののみ公開してそれ以外を公開しない ってことよ。 例えば「車」というカプセルがあるとするわ。 公開するのは ・ハンドル ・アクセル ・ブレーキ ・スピードメーター ね。(もっといろいろあるけどめんどうなので省略) アクセルを踏めば動き出してブレーキを踏めば止まる ハンドルを動かせば方向を変えるし、現在の速度はスピードメーターで分かる。 このカプセルの利用者はアクセルを踏めば動き出すっていうことだけ知っていれば使えるわ。 その内部でどんな処理をしていようが関係ないのよ。 ちなみに従来の手続き型言語だと公開するのは ・方向を変える ・動かす ・止める ・速度を得る になるわね。 この辺が手続き型言語とオブジェクト指向言語の違いね。
- erichgumma
- ベストアンサー率48% (13/27)
回答No.2
ぜひ以下のテキストの Chap-8(Expanding Our Horizons) を読む事を薦めます。 Alan Shalloway, James R. Trott, Design Patterns Explained: A New Perspective on Object-Oriented Design (2nd Edition) (October 22, 2004) p.119~ Encapsulatoin: The Traditional View and the New View