- Is-a
In
knowledge representation andobject-oriented programming and design, is-a is a relationship where one class "D" is asubclass of another class "B" (and so "B" is asuperclass of "D").In other words "D" "is a" "B" usually means that concept "D" is a
specialization of concept "B", and concept "B" is ageneralization of concept "D".For instance, a "fruit" is a generalization of "apple", "orange", "mango" and many others. One can say that an "apple" "is a" fruit.
In
object-oriented programming the "is-a" relationship arises in the context of inheritance concept. One can say that "apple" may "inherit" all the properties common to all fruits, such as being a fleshy container for the seed of a plant.The "is-a" relationship is contrasted with the "
has-a " relationship which constitutes a different kind of hierarchy.When designing a model (e.g., a
computer program ) of the real-world relationship between an object and its subordinate a common error is confusing the relations "has-a" or "is-a".ee also
*
Has-a
*Subsumption
*Inheritance (computer science)
*Subtype
*Liskov substitution principle (inobject-oriented programming )
*Hyponym References
*
Ronald J. Brachman ; What IS-A is and isn't. An Analysis of Taxonomic Links in Semantic Networks; IEEE Computer, 16 (10); October 1983 [http://dblp.uni-trier.de/rec/bibtex/journals/computer/Brachman83]
* Jean-Luc Hainaut, Jean-Marc Hick, Vincent Englebert, Jean Henrard, Didier Roland: Understanding Implementations of IS-A Relations. ER 1996: 42-57 [http://www.informatik.uni-trier.de/~ley/db/conf/er/HainautHEHR96.html]
Wikimedia Foundation. 2010.