, 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
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
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.