Subtype and derived type
In computer science, a subtype states that if given type A is compatible with type B, then A is a subtype of B while not always vice versa. The most important distinction from mere datatype is one datatype can be more than one subtype. The definition is known as Liskov substitution principle.In object-oriented programming, this means objects of the same subtype respond to the same messages.
A derived type is a type given a new type but structually same to the original type. The purpose of this type is create a new type name so that two values can have two distinct types in terms of name. It matters if the type system uses a name equivalence rule but does not matter if the system uses a structural equivalence.
This article is a stub. You can help Wikipedia by expanding it.