The Free On-line Dictionary of Computing (30 December 2018):
In object-oriented programming, a set of classes
related by inheritance. Each class is a "subclass" of another
class - its "superclass". The subclass contains all the features
of its superclass, but may add new features or redefine existing
features. The features of a class are the set of attributes (or
"properties") that an object of that class has and the methods
that can be invoked on it.
If each class has a just one superclass, this is called single
inheritance. The opposite is multiple inheritance, under which
a class may have multiple superclasses. Single inheritance gives
the class hierarchy a tree structure whereas multiple
inheritance gives a directed graph. Typically there is one
class at the top of the hierarchy which is the "object" class, the
most general class that is an ancestor of all others and which has
In computing, as in genealogy, trees grow downwards, which is why
subclasses are considered to be "below" their superclasses.
When invoking a method on an object, the method is first
looked for in the object's class, then the superclass of that
class, and so on up the hierarchy until it is found. Thus a class
need only define those methods which are specific to it and it
will inherit all other methods from all its superclasses. An
object of the subclass can do everything that an object of the
superclass can and possible more.
C++ calls the superclass the "base class" and the subclass the
"derived class" (not to be confused with a derived type).