In programming, and particularly Object-Oriented programming, a concrete type is one that tightly represents a relatively simple concept, with every operation defined on it required for that representation. deque, vector and complex are examples of concrete types.

It is very rare to derive other classes from a concrete type. This is because classes created as a solution to a specific problem are rarely useful as a base for derivation. It might sometimes be useful to create an interface class to interface to several concrete types, for example a Date_and_time class to bind together the concrete types Date and Time.

Furthermore, concrete types should exist and be able to be understood in isolation, without reference to other classes in a system. Concrete types are the classes you're likely to reuse in other systems - matrices, mathematical vectors, error messages, and the like.

Obviously, all built-in types in a programming language can be seen as concrete types. Concrete types are probably the closest user-defined types come to built-in ones - they should be comparable in terms of size and speed to a hand-crafted solution for a problem.

Log in or register to write something here or to contact authors.