07 Class Relationship Diagram
07 Class Relationship Diagram
Reference: https://www.visual-paradigm.com/guide/uml-unified-modeling-language/uml-class-diagram-tutorial/
Relationships between classes
UML is not just about pretty pictures.
Each instance of the specific classifier is also an indirect instance of the general classifier.
Thus, the specific classifier inherits the features of the more general classifier.
Represents an "is-a" relationship.
An abstract class name is shown in italics.
SubClass1 and SubClass2 are specializations of SuperClass.
The relationship is displayed as a solid line with a hollow arrowhead that points from the child element to
the parent element.
Although the connectors are drawn differently, they are semantically equivalent.
Associations are typically named using a verb or verb phrase which reflects the real world problem domain.
Simple Association
A structural link between two peer classes.
There is an association between Class1 and Class2
There is an association that connects the <<control>> class Class1 and <<boundary>> class Class2.
one to one
one to many
many to many
The relationship is displayed as a solid line with a unfilled diamond at the association end, which is
connected to the class that represents the aggregate.
The relationship is displayed as a solid line with a filled diamond at the association end, which is connected
to the class that represents the whole or composite.
If the object is not stored in any field, then this is modeled as a dependency relationship.
A special type of association.
Exists between two classes if changes to the definition of one may cause changes to the other (but
not the other way around).
Class1 depends on Class2 The figure below shows another example of
dependency. The Person class might have a hasRead
The figure below shows an example of dependency. method with a Book parameter that returns true if
• The relationship is displayed as a dashed line the person has read the book (perhaps by checking
with an open arrow. some database).
In other words, you can understand this as the relationship between the interface and the implementing
class.
For example, the Owner interface might specify methods for acquiring
property and disposing of property. The Person and Corporation
classes need to implement these methods, possibly in very different
ways.