Abstract Classes
An abstract class cannot be instantiated.
The methods declared in the class have no definition, no code.
These are used as place holders in a hierarchy.
Think of them as a partial description of the problem.
You don't know exactly what it is but you know that all
the related child classes have these actions (methods) in common.
Kind of a missing link.
An abstract class could have data elements that are inherited by
the children, but as I said above, that can get confusing.