In programming languages, an abstract type, unlike Concrete class is a type in a nominative type system which cannot be instantiated. (However, it may have concrete subtypes that do have instances.) An abstract type may have no implementation, or an incomplete implementation. It may include abstract methods or abstract properties that are shared by its subtypes.
A type that is not abstract is called a concrete type.
In many object oriented programming languages, abstract types are known as abstract base classes. In some languages, abstract types with no implementation are known as interfaces. Other names for language features that are (or may be) used to implement abstract types include traits, mixins, flavors, or roles.
Other articles related to "abstract type, abstract types, abstract, type":
... Abstract types are an important feature in statically typed OO languages ... equivalent feature (although the use of duck typing makes abstract types unnecessary) however traits are found in some modern dynamically-typed languages ... should be leaf classes (have no subtypes), or else be abstract ...
... The factory determines the actual concrete type of object to be created, and it is here that the object is actually created (in C++, for instance, by the new operator) ... However, the factory only returns an abstract pointer to the created concrete object ... clients ask a factory object to create an object of the desired abstract type and to return an abstract pointer to the object ...
Famous quotes containing the words type and/or abstract:
“The real American type can never be a ballet dancer. The legs are too long, the body too supple and the spirit too free for this school of affected grace and toe walking.”
—Isadora Duncan (18781927)
“Virtue, my pet, is an abstract idea, varying in its manifestations with the surroundings. Virtue in Provence, in Constantinople, in London, and in Paris bears very different fruit, but is none the less virtue.”
—Honoré De Balzac (17991850)