オブジェクト指向:カプセル化
カプセル化の利益
関連する変数とメソッドを適切なソフトウェアにまとめるカプセル化は、簡単であるが、ソフトウェア開発者に2つの主要な利益をもたらす強力な アイデアである。 オブジェクトのソースコードは、他のオブジェクトのソースコードから独立して書いたり、維持することができる。
また、オブジェクトはシステム内簡単に渡すことができる。
ほかの誰かにあなたの自転車を与えても、うまく動くだろう。 オブジェクト は、他のオブジェクトとの通信に使用することができるパブリックインターフェースを持っている。
しかし、オブジェクトは、依存する他のオブジェクトに影響を与えずに、いつでも変更可能な内部情報やメソッドを維持することができる。
自転車に乗るために、ギアのメカニズムを理解する必要はない。 データカプセル化によるメリット
データ部分の変更が各モジュールに影響しない。
データアクセスの履歴を取ることで、不具合修正が容易となる。
アクセスメソッドの互換性を保つことで、モジュールとデータの機能拡張を他のモジュールに依存せずに行うことができる。
データカプセル化によるデメリット
データカプセル化は、設計を誤ると次のような問題が生じる。
大きなパフォーマンス低下。
機能の縮小や制限。
モジュールの自由度の制限。
行数や工数の増加。