- 3 row arrangement (Class name, Attributes, Methods)
- An optional 4 row (Responsibilities) can be added to mention what is expected of the class
- Class name is the only mandatory field
- Attributes
- Format =>
<access specifier> <attribute name> : <data type>
/
=> derived attribute, not an actual data member+
=> public#
=> protected-
=> private~
=> package level visibility- Static attributes => to be underlined
- Format =>
- Methods,
- Use the function signature
+
=> public#
=> protected-
=> private- Static member function => mention no access specifier
- If the class name is preceded by
<<abstract>>
, then it’s an abstract class, (italics were used in older UMLs)
Example,