The purpose of an abstract class is to provide some heritable behaviors while also defining methods which must be implemented by sub-classes.


A class with no abstract methods that was made abstract purely to prevent instantiation should be converted to a concrete class (i.e. remove the ``++abstract++`` keyword) with a private constructor.


A class with only abstract methods and no inheritable behavior should be converted to an interface.
