カプセル化
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/09/27 18:27 UTC 版)
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。(2018年12月) |
カプセル化はオブジェクト指向での使用が最も有名であり、そこではフィールドとそれを操作するメソッドをまとめたオブジェクトの内部要素への直接アクセスを制限するためのアクセスコンロールを設けている。内部隠蔽されたフィールドを操作または閲覧するためのメソッドは、ミューテイタ/アクセッサと呼ばれ、これはセッター/ゲッターの俗称でも知られている。フィールドとメソッドの一体化には、フィールド展開用のメモリ基底アドレスをアドホック多相表現にしたThis参照の機構が用いられている。これらカプセル化のコンセプトの定義と実装の書式は、オブジェクトの設計図に例えられているクラスに投影されている。オブジェクト指向のカプセル化は、特にデータ抽象の側面が強調されている。
なお、カプセル化はオブジェクト指向の専売特許ではなく、抽象データ型、プログラムモジュール、ソフトウェアコンポーネントの実装にも使用されている。
注釈
- ^ 構造化プログラミング pp.58-65 における image型 はデータ抽象の例である。
- ^ なお、紛らわしい名称を持つプログラミング言語のPerl開発者であるラリー・ウォールは、構造化プログラミングの真珠(pearl)との関連性を明確には述べていない。本家インタビュー:Perl開発者ラリー・ウォール
- ^ ダイクストラやヴィルトの普及もあってか、以後「アルゴリズム」と「データ構造」と言う単語の入ったプログラミングに関する書籍が数多く出版されることとなった。
- ^ このような構成からなるプログラムは変更に弱く、バグが発生しやすいため保守管理が困難である。
- ^ 用法としてカプセル化という用語は情報隠蔽も含むことが多い。一方、モジュール化という用語はそういったニュアンスは少ない。
- ^ ソフトウェア業界においては、理想的には顧客が提示する仕様書に基づいてソフトウェアを開発し、そのソフトウェアが仕様書を満たしていれば顧客に納品することができる。つまり、顧客が提示する仕様書にある機能が実現されており、かつその機能を実行する限りにおいて動作検証されていれば、そもそも顧客が関知する理由の無い実装上必要となる機能の幾つかが不具合を有していても、そのソフトウェアは仕様書を満たしていると主張可能ということである。
出典
- ^ 上田勲『プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則』秀和システム、2016年3月29日、84頁。ISBN 978-4-7980-4614-3。
- ^ 上田勲『プリンシプル オブ プログラミング 3年目までに身につけたい 一生役立つ101の原理原則』秀和システム、2016年3月29日、86頁。ISBN 978-4-7980-4614-3。
- ^ 構造化プログラミング pp.58-65
- ^ 構造化プログラミング pp.68-69
- ^ 山崎(1990) p.131
- カプセル化のページへのリンク