いまさらですが・・・
 ・ポリモーフィズム
 継承やインタフェースの実現を利用して、実際に動くインスタンスの型を隠すこと。
 オーバーロードメソッドの定義なども含まれる。
 ・カプセル化
 関係の深いデータとそれらを使って行う処理をひとまとめにし、モジュール化する作業のこと。
 モジュール化する際に、結合度、凝集度を意識して作業を行う。
 ・情報隠蔽
 クラス間を疎結合にするために、使う側のクラスから隠すこと。
 インタフェース化や、公開メソッド、非公開メソッドの選定も情報隠蔽のひとつ。
 情報隠蔽のひとつで、属性をprivateにして、アクセサメソッドを提供することで、
 外部から直接アクセスできないようにすることをデータ隠蔽と呼ぶ。
 よって、データ隠蔽は情報隠蔽の一部。
以下は厳密にいうと、オブジェクト指向用語というより、構造化手法から受け継いだ用語。
 ・結合度
 クラス間の関係の強弱。
 一方のクラスの変更がどれだけ他のクラスに影響するかで判断する。
 当然、結合度は低い方がいい。
 ・凝集度
 クラス内の結びつきの強弱。モジュールのわかりやすさの尺度ともいう。
 高いとわかりやすくて、低いとわかりにくい。
 具体的には、クラス名と内部でもっているデータがしっくりきますか?
 詰め込みすぎてませんか?
 もしかしたら二つのクラスに分けた方がよくないですか?
 という感じで考える。
 
 
コメントを残す