In a hierarchy of objects an object generally has a parent object (superclass) at the next higher level in the hierarchy and one or more child objects (subclass) at the next lower level. Each object can have various attributes associated with it. The attributes can be local to that object, or can be inherited from the parent object. Attributes can be further inherited by child objects (often without limit on the number of inheritances). In addition an object can be an instance of a more general object (not a parent object) with which it shares variables and also inherits its attributes.
Inheritance is thus a means by which characteristics of objects can be replicated and instantiated in other objects. Inheritance is both static by abstract data type and dynamic by instantiation and value. Inheritance rules define what can be inherited and inheritance links define the parent and child of inheritance attributes.
See also object-oriented programming.