カプセル化
カプセル化
クラス外部から、クラス自体やクラスのインスタンスのプロパティやメソッドを直接呼び出せないようにすること。
クラス外部からは、クラス内部でデータがどのような形で保持されているかわからなくし、勝手に変更できなくさせることができる。ただ、PHP4ではクラスのプロパティやメソッドに直接アクセスするのを禁止することはできない。
PHP5では、プロパティ、メソッドの定義時にprivateやprotected宣言をすることで、クラス外から直接プロパティにアクセスできないように設定することが可能になった。varによるプロパティの宣言、あるいは何も指定せずにメソッドを宣言した場合は、public宣言と同じくクラス外からでもアクセスできるようになる。
privateとprotectedの違いについてだが、privateと指定するとそのクラス以外のどこからも直接アクセスすることができなくなるのに対し、protectedと指定すると、そのクラス内の他に、そのクラスを継承したクラス内からも直接アクセスすることが可能になる。
関連用語
カプセル化
カプセル化
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/10/12 00:42 UTC 版)
カプセル化(英: encapsulation)は、コンピュータプログラミングで用いられる概念であり、特定のデータ構造とアルゴリズムなどをまとめたソフトウェア複合体の内側の詳細を外側から隠蔽することと定義されている。この隠蔽は計算機科学者デビッド・パーナスが提唱した情報隠蔽と同義である。
- ^ 構造化プログラミング pp.58-65
- ^ 構造化プログラミング pp.58-65 における image型 はデータ抽象の例である。
- ^ なお、紛らわしい名称を持つプログラミング言語のPerl開発者であるラリー・ウォールは、構造化プログラミングの真珠(pearl)との関連性を明確には述べていない。本家インタビュー:Perl開発者ラリー・ウォール
- ^ 構造化プログラミング pp.68-69
- ^ ダイクストラやヴィルトの普及もあってか、以後「アルゴリズム」と「データ構造」と言う単語の入ったプログラミングに関する書籍が数多く出版されることとなった。
- ^ このような構成からなるプログラムは変更に弱く、バグが発生しやすいため保守管理が困難である。
- ^ 用法としてカプセル化という用語は情報隠蔽も含むことが多い。一方、モジュール化という用語はそういったニュアンスは少ない。
- ^ 山崎(1990) p.131
- ^ ソフトウェア業界においては、理想的には顧客が提示する仕様書に基づいてソフトウェアを開発し、そのソフトウェアが仕様書を満たしていれば顧客に納品することができる。つまり、顧客が提示する仕様書にある機能が実現されており、かつその機能を実行する限りにおいて動作検証されていれば、そもそも顧客が関知する理由の無い実装上必要となる機能の幾つかが不具合を有していても、そのソフトウェアは仕様書を満たしていると主張可能ということである。
- 1 カプセル化とは
- 2 カプセル化の概要
- 3 参考文献
カプセル化
出典:『Wiktionary』 (2021/08/11 11:40 UTC 版)
名詞
発音(?)
- か↗ぷせるか
語源
- 英語: encapsulation
類義語
参照
- クラス (class)
- オブジェクト (object)
- 継承 (generalization)
- 委譲 (delegation)
- 集約 (aggregation)
- ポリモーフィズム(多態, 「ポリモルフィズム」)
- フィールド (field)
- メソッド (method)
- オブジェクト指向プログラミング (object-oriented-programming)
「カプセル化」の例文・使い方・用例
- カプセル化のページへのリンク