Search results
Results from the WOW.Com Content Network
UML class diagram Composition and aggregation. In object-oriented programming this relationship can be represented with a Unified Modeling Language Class diagram. This has-a relationship is also known as composition. As you can see from the Class Diagram on the right a car "has-a" carburetor, or a car is "composed
In aggregation, the object may only contain a reference or pointer to the object (and not have lifetime responsibility for it). Sometimes aggregation is referred to as composition when the distinction between ordinary composition and aggregation is unimportant. The above code would transform into the following UML Class diagram:
The diagram on top shows Composition between two classes: A Car has exactly one Carburetor, and a Carburetor is a part of one Car. Carburetors cannot exist as separate parts, detached from a specific car. The diagram on bottom shows Aggregation between two classes: A Pond has zero or more Ducks, and a Duck has at most one Pond (at a time).
A sample UML class and sequence diagram for the Iterator design pattern. [4] In the above UML class diagram, the Client class refers (1) to the Aggregate interface for creating an Iterator object (createIterator()) and (2) to the Iterator interface for traversing an Aggregate object (next(),hasNext()).
Fig.9 Aggregation Fig.10 Example aggregation. A special type of association is aggregation. Aggregation represents the relation between a concept (as a whole) containing other concepts (as parts). It can also be described as a ‘has-a’ relationship. In Figure 9 an aggregation relationship between OPEN CONCEPT and STANDARD CONCEPT is illustrated.
A sample UML class and sequence diagram for the Bridge design pattern. [3]In the above Unified Modeling Language class diagram, an abstraction (Abstraction) is not implemented as usual in a single inheritance hierarchy.
The C++ examples in this section demonstrate the principle of using composition and interfaces to achieve code reuse and polymorphism. Due to the C++ language not having a dedicated keyword to declare interfaces, the following C++ example uses inheritance from a pure abstract base class .
A sample UML class diagram for the adapter design pattern. [ 5 ] In the above UML class diagram , the client class that requires a target interface cannot reuse the adaptee class directly because its interface doesn't conform to the target interface.