![]() |
|
|
| |
|
||||
In computer science, composition is a way to combine simple data types into more complex data types. It should be contrasted with subtyping, which is the process of adding detail to a general data type to create a more specific data type. In composition, the composite type "has an" object of a simpler type, while in subtyping, the subtype "is an" instance of its parent type. The simpler types from which a composite type is constructed can be primitive types, or they can be other composite types which are expanded recursively. Composite types typically have one simpler type to represent each attribute of an object. Attributes are usually given some name to allow accessing them. Aggregation is a special type of composition in which the composite type is responsible for the lifetimes of the contained objects. In UML, aggregation is depicted as a filled diamond. It always implies a multiplicity of 1, as only one object at a time can have lifetime responsibility for another object. The more general composition is depicted as an un-filled diamond. ExampleThis is an example of composition in C.
typedef struct {
int age;
char *name;
enum { male, female } sex;
} Person;
In this example, the primitive types If a See also
|
|
|
|
|
|
|
|
Copyright 2008 WordIQ.com - Privacy Policy
::
Terms of Use
:: Contact Us
:: About Us This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article "Composite type". |