What is the opposite of a base class in OOP?

A base class is a relative term. It only applies when considering one of its derived classes. Here are some terms that I consider opposites (and mostly orthogonal among themselves):

  • base class vs derived class; similarly super class vs sub class
  • abstract class vs concrete class
  • root class vs leaf class
  • sealed (also, final) class vs inheritable (non-sealed) class
  • nested class vs top-level class

Abstract and (normally) root classes are designed to be base classes. Sealed classes cannot be base classes, because they're non-inheritable. A root class is a class without a base class (in C# and Java, this class is Object). A leaf class has no subclass, so it's not a base class; but it's not necessarily sealed. Sealed classes, on the other hand, are always leaf classes.

So,

I am looking for the name of a class that has not been sub-classed, YET

It seems that you're looking for a leaf class, but I don't consider it to be the opposite of a base class.


I usually hear leaf class. Java enforces it with final.

Tags:

Oop