A name declared with an abstract type contains a value whose concrete type is any of that abstract type's subtypes. G2 offers these abstract types: item-or-value, value, and quantity. Contrast with concrete type.
A type declared using the reserved word abstract. Only abstract types can have abstract operations. You cannot declare objects belonging to an abstract type; the purpose of an abstract type is to act as the parent for a class of derived types.
In software engineering, an abstract type is a type in a nominative type system which is declared by the programmer, and which has the property that it contains no members which are not also members of some declared subtype. In many object oriented programming languages, abstract types are known as abstract base classes, interfaces, traits, mixins, flavors, or roles. Note that these names refer to different language constructs which are (or may be) used to implement abstract types.