Abstract class

An abstract class is a class that cannot be instantiated and defines an implementation intended to be inherited by one or more concrete classes. The and  classes are ideal examples of abstract classes.