Is-a
| It has been suggested that Isa (computer science) be merged into this article or section. (Discuss) |
In knowledge representation and object-oriented programming and design, Is-a is a relationship where one class A is a subclass of another class B (and so B is a superclass of A).
In other words "A is a B" usually means that concept A is a specialization of concept B, and concept B is a generalization of concept A.
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".
See also
- Has-a
- Subsumption
- Inheritance (computer science)
- Subtype
- Liskov substitution principle (in object-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 [1]
- Jean-Luc Hainaut, Jean-Marc Hick, Vincent Englebert, Jean Henrard, Didier Roland: Understanding Implementations of IS-A Relations. ER 1996: 42-57 [2]
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)


