What is abstract class?
A generic class that is used only as a template for derived classes, and
that cannot be instantiated.