Is-a
出典: フリー百科事典『ウィキペディア(Wikipedia)』
知識表現、オブジェクト指向プログラミング、設計では、Is-aとは、あるクラスAはもう一つのクラスBのサブクラスである(また、BはAのスーパークラスである)という関係である。
言い換えれば、"AはBである"は通常、概念Aは概念Bの特化であり、概念Bは概念Aの汎化であることを意味する。例として、「フルーツ」は「リンゴ」、「オレンジ」、「マンゴー」などの汎化である。リンゴはフルーツである(is-a) (Apple is a fruit.)と言える。
オブジェクト指向プログラミングではIs-a関係は継承という概念の中で使われる。たとえばリンゴは、「果肉に種が入った植物」に属するというような、フルーツすべてに共通するプロパティをすべて継承するといって差し支えない。
Is-a関係とは、異なる種類の階層の性質をもつ関係にHas-aがある。 オブジェクトと従属するオブジェクトの論理関係がIs-aか、それともHas-aなのか、いつもはっきりと決定できるものではない。この曖昧さが、Is-aのようなメタ言語的な用語を生み出した。
[編集] 関連項目
[編集] 参考文献
- Ronald J. Brachman; What IS-A is and isn't. An Analysis of Taxonomic Links in Semantic Networks; IEEE Computer, 16 (10); October 1983 [1]
- Jean-Luc Hainaut, Jean-Marc Hick, Vincent Englebert, Jean Henrard, Didier Roland: Understanding Implementations of IS-A Relations. ER 1996: 42-57 [2]
カテゴリ: オブジェクト指向 | 知識表現 | コンピュータ関連のスタブ項目