A class, use case, signal, or other classifier that cannot be instantiated. Also used to describe an operation that has no implementation. Antonym: concrete.
See abstract operation, generalizable element.
An abstract class is a class that is not instantiable—that is, it may not have direct instances, either because its description is incomplete (such as lacking methods for one or more operations) or because it is not intended to be instantiated even though its description is complete. An abstract class is intended for specialization. To be useful, an abstract class must have descendants that may have instances; an abstract leaf class is useless. (It can appear as a leaf in a framework, but eventually, it must be specialized.) ...