豚吐露@wiki

問46回答

最終更新:

ohden

- view
管理者のみ編集可



【カプセル化】
encapsulation
オブジェクト指向プログラミングが持つ特徴の一つ。
データとそれを操作する手続きを一体化して「オブジェクト」として定義し、オブジェクト内の細かい仕様や構造を外部から隠蔽すること。
外部からは公開された手続きを利用することでしかデータを操作できないようにすることで、個々のオブジェクトの独立性が高まる。
カプセル化を進めることによりオブジェクト内部の仕様変更が外部に影響しなくなり、ソフトウェアの保守性や開発効率が高まり、プログラムの部分的な再利用が容易になる。

【継承】
インヘリタンス / inheritance
継承とは、オブジェクト指向プログラミングにおいて、既に定義されているクラスをもとに、拡張や変更を加えた新しいクラスを定義すること。
元になるクラスを「スーパークラス」(super class)、あるいは「基底クラス」「基本クラス」(base class)などと呼び、新たに定義されたクラスを「サブクラス」(subclass)、あるいは「派生クラス」(derived class)と呼ぶ。
スーパークラスの性質はすべてサブクラスに受け継がれ、サブクラスではスーパークラスとの違いを定義するだけでよい。
複数のスーパークラスから新しいクラスを定義することを多重継承という。

【多相性】
ポリモーフィズム / polymorphism
ポリモーフィズムとは、オブジェクト指向プログラミング言語の持つ性質のひとつであり、同名のメソッドや型などをオブジェクトの種類に応じて使い分けることができる性質のこと。
日本語では「多相性」「多態性」「多様性」などと訳される。
オブジェクト指向プログラミング言語では、関連する一まとまりのデータとそれを操作する関数などの組み合わせを「オブジェクト」として定義していき、これを組み合わせてプログラムを記述していく。
オブジェクトの定義を定めた雛形を「クラス」と呼び、上位のクラスの性質を引き継いだ上で、他の性質を加えた新しいクラスを作成することを「継承」と呼ぶ。
この継承を行なう際に、上位のクラスの関数を新しい関数の定義で置き換えることを「オーバーライド」と呼び、クラスによって同一のメソッドで異なる処理が行われる性質をポリモーフィズムという。
ポリモーフィズムの利点としては、メソッド名を統一することで名前を覚える必要がなくなることや、記述ミスを減らせることなどが挙げられる。

【抽象化】
オブジェクト指向にはクラスとインスタンスという概念があります。
同類のオブジェクトをまとめて抽象化したものがクラスで、クラスに属するオブジェクトがインスタンスです。
オブジェクト指向分析設計(OOAD)ではクラスが先かオブジェクトが先かという議論がありますが、人間の自然な考え方としてはまず具体的なオブジェクトを見つけてグルーピングし、それを抽象化してクラスにするという流れが自然です。



更新日: 2009年12月18日 (金) 20時34分27秒
記事メニュー
ウィキ募集バナー