In computer science, object composition (not to be confused with function composition) is a way to combine simple objects or data types into more complex ones. Compositions are a critical building block of many basic data structures, including the tagged union, the linked list, and the binary tree, as well as the object used in object-oriented programming.
A real-world example of composition may be seen in the relation of an automobile to its parts, specifically: the automobile 'has or is composed from' objects including steering wheel, seat, gearbox and engine.
When, in a language, objects are typed, types can often be divided into composite and noncomposite types, and composition can be regarded as a relationship between types: an object of a composite type (e.g. car) "has an" object of a simpler type (e.g. wheel).
Composition must be distinguished from subtyping, which is the process of adding detail to a general data type to create a more specific data type. For instance, cars may be a specific type of vehicle: car is a vehicle. Subtyping doesn't describe a relationship between different objects, but instead, says that objects of a type are simultaneously objects of another type.
In programming languages, composite objects are usually expressed by means of references from one object to another; depending on the language, such references may be known as fields, members, properties or attributes, and the resulting composition as a structure, storage record, tuple, user-defined type (UDT), or composite type. Fields are given a unique name so that each one can be distinguished from the others. However, having such references doesn't necessarily mean that an object is a composite. It is only called composite if the objects it refers to are really its parts, i.e. have no independent existence. For details, see the aggregation section below.
Read more about Object Composition: UML Notation, Composite Types in C, Recursive Composition, Timeline of Composition in Various Languages, Aggregation, Containment, Aggregation in COM
Famous quotes containing the words object and/or composition:
“Perchance the time will come when every house even will have not only its sleeping-rooms, and dining-room, and talking-room or parlor, but its thinking-room also, and the architects will put it into their plans. Let it be furnished and ornamented with whatever conduces to serious and creative thought. I should not object to the holy water, or any other simple symbol, if it were consecrated by the imagination of the worshipers.”
—Henry David Thoreau (18171862)
“The composition of a tragedy requires testicles.”
—Voltaire [François Marie Arouet] (16941778)