IS-A

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".

Contents
See also
References

See also



Has-a

Subsumption

Inheritance (computer science)

Subtype

Liskov substitution principle (in object-oriented programming)

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 article provided by Wikipedia. To edit the contents of this article, click here for original source.

psst.. try this: add to faves