An abstract class means that the class is intended to be used as a base class.
Note the following features of abstract classes:
.An abstract class cannot be instantiated.
.An abstract class may contain abstract methods and properties.
.A non-abstract class that derives from an abstract class must implement all inherited abstract methods and properties. (if any).
.An abstract class must provide implementation for all interface members