Wiktionary
n. (context computing English) The relationship between two entity in which one entity inherits from the other.
Wikipedia
In knowledge representation, object-oriented programming and design (see object oriented program architecture), is-a (is_a or is a) is a subsumption relationship between abstractions (e.g. types, classes), where one class A is a subclass of another class B (and so B is a superclass of A). In other words, type A is a subtype of type B when A’s specification implies B’s specification. That is, any object (or class) that satisfies A’s specification also satisfies B’s specification, because B’s specification is weaker.
The is-a relationship is to be contrasted with the has-a (has_a or has a) relationship between types (classes).
It may also be contrasted with the instance-of relationship between objects (instances) and types (classes): see " type-token distinction" and " type-token relations." 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 and is-a.
To summarize the relations, we have
-
hyperonym- hyponym (supertype-subtype) relations between types (classes) defining a taxonomic hierarchy, where
- for a subsumption relation: a hyponym (subtype, subclass) has a type-of (is-a) relationship with its hypernym (supertype, superclass);
-
holonym- meronym (whole/entity/container-part/constituent/member) relations between types (classes) defining a possessive hierarchy, where
- for an aggregation (i.e. without ownership) relation:
- a holonym (whole) has a has-a relationship with its meronym (part),
- for a composition (i.e. with ownership) relation:
- a meronym (constituent) has a part-of relationship with its holonym (entity),
- for a containment relation:
- a meronym (member) has a member-of relationship with its holonym ( container);
- for an aggregation (i.e. without ownership) relation:
- concept-object (type-token) relations between types (classes) and objects (instances), where
- a token (object) has an instance-of relationship with its type (class).