*抽象クラス(abstract class)
抽象クラスには、一連の関連クラスが行えることを定義します。
*クラス(class)
オブジェクトの責任に基づき、該当オブジェクトの型を定義します。責任は振る舞い、および/または、状態に分割することができます。
こういった責任は、それぞれメソッド、および/または、データを用いて実装することができます。
*具象クラス(concrete class)
抽象クラスに対して特定の振舞いを実装したクラスのことです。具象クラスは、具体的かつ不変の概念を実装したものとなります。
*カプセル化(encapsulation)
データ隠蔽として定義されるものが多いものの、あらゆるものの(型、実装、設計など)の隠蔽を指していると捉えるべきです。
*継承(inheritance)
クラスが他クラスの持つ一部あるいはすべての性質を受け継ぐ場合、そのクラスから継承を行うことになります。この場合、
元となるクラスを基底クラス、スーパークラス、親クラス、汎化クラスなどと呼び、継承するクラスを派生クラス、サブクラス、
子クラス、特化クラスなどと呼びます。
*インスタンス(instance)
クラスに属する具体的な実態のことです(常にオブジェクトとなります)。各オブジェクトには自らの状態が保持されているため、
同じ型(クラス)に属する複数のオブジェクトを使用できるようになります。
*実体化(instantiation)
クラスのインスタンスを生成することです。
*インターフェイス(interface)
インターフェイスはクラスとよく似ていますが、構成要素の使用のみを提供し、実装を提供するものではないという点が異なっています。
この点では、抽象メソッドのみで構成された抽象クラスと似ているでしょう。プログラミング時においては、共通する基底クラスを
持っていないクラス群に、特定の(抽象的な)性質を実装させたいという場合にインターフェイスを使用します。
*観点(perspective)
オブジェクトを見極める場合、概念、使用、実装という3つの観点から捉える必要があります。これらの違いは、抽象クラスと
その派生クラスの関係を理解する上で有効なものとなるのです。まず抽象クラスによって、物事を概念的に解決する方法が定義できます。
また、そこから派生したものを用いることで、通信を行うための仕様が定義できます。さらに、それらを用いることで、
必要となる特定の実装を導き出すことができるのです。
*ポリモーフィズム(polymorphism)
あるクラスから派生したさまざまなクラスを同じ方法で参照しつつ、派生クラスごとに定義されている適切な振る舞いを引き出すことです。
参照元【-デザインパターンとともに学ぶ-オブジェクト指向のこころ】
最終更新:2009年06月12日 04:51