In object-oriented programming, the ability to derive new classes from existing classes. A derived class (or "subclass") inherits the instance variables and methods of the "base class" (or "superclass"), and may add new instance variables and methods. New methods may be defined with the same names as those in the base class, in which case they override the original one.
For example, bytes might belong to the class of integers for which an add method might be defined. The byte class would inherit the add method from the integer class.
See also Liskov substitution principle, multiple inheritance.