Classes and inheritance in Kotlin (android.com)
- An “abstract” class is a class that cannot be instantiated because it is not fully implemented.
 - A common benefit of creating a superclass is to contain properties and functions that are common to all its subclasses. If the values of properties and implementations of functions are not known, make the class abstract.
 - The declaration of an abstract class starts with the abstract keyword.