[ACCEPTED]-OOP Difference between a derived class and an inherited class?-class-hierarchy
When using inheritance, the inherited class 2 is called the base class, and the inheriting 1 class is called the derived class.
The term derived class is preferred C++ parlance for 3 a class that inherits from another class, which 2 in C++ parlance is called a base class. So in C++ the 1 terms you ask about are identical.
Neil's answer confused me a bit, and so 4 I checked some public sources.
Consider a Base Class and a Sub Class (
SubClass extends BaseClass in 3 Java terminology), than
- the Sub Class derives Base Class (Sub Class is a derived class of Base Class) and
- the Sub Class inherits from Base Class (Base Class is a/the inherited class of Sub Class)
So in my opinion 2 both terms define the same relationship 1 between to classes but from different perspectives.
Inheritance terminology by Bertran Meyer 1 (Object-Oriented Software Construction, p.464):
Basic conventions and terminology
The following terms will be useful in addition to “heir” and “parent”.
A descendant of a class C is any class that inherits directly or indirectly from C, including C itself. (Formally: either C or, recursively, a descendant of an heir of C.) An ancestor of C is a class A such that C is a descendant of A.
In the literature you will also encounter the terms “subclass” and “superclass”, but we will stay away from them because they are ambiguous; sometimes “subclass” means heir (immediate descendant), sometimes it is used in the more general sense of proper descendant, and it is not always clear which. In addition, we will see that the “subset” connotation of this word is not always justified.
maybe interesting, if you override a method, in 1 Delphi you write:
inherited; // so "inherited" is the base class
base.BaseImplementation(); // C#
More Related questions