120 likes | 467 Views
COP 3330. Notes 4/13. Today’s Topics. UML Class Diagrams. UML Class Diagrams. UML stands for Unified Modeling Language There are many types of diagrams specified by UML, but we'll only focus on class diagrams UML class diagrams depict structural relationships among classes.
E N D
COP 3330 Notes 4/13
Today’s Topics • UML Class Diagrams
UML Class Diagrams • UML stands for Unified Modeling Language • There are many types of diagrams specified by UML, but we'll only focus on class diagrams • UML class diagrams depict structural relationships among classes
UML Class Diagrams • A class is represented as a rectangle subdivided into three areas • Example: Simplified Student class
UML Class Diagrams • A field is specified with its access modifier first, then its name, then a :, then the type • e.g. on the previous slide, the Java code equivalent of the field would be private double gpa;
UML Class Diagrams • A method is specified with access modifier first, then its name, then its formal parameters in parentheses, then a :, then its return type • e.g. the Java code equivalent of the method header would be public void setGPA(double newgpa)
UML Class Diagrams • Access modifiers: The visibility of fields and methods are represented by the first character before their names • Private: - • Public: + • Protected: #
UML Class Diagrams • Other modifiers: • If a method or field is underlined that indicates that it is static • If a method, field, or class name is italicized, that indicates that it is abstract
UML Class Diagrams • Relationships among classes • Generalization (extends in Java) • Realization (implements in Java) • Arrow with dashed line allows details of the interface to be specified • Lollipop does not
UML Class Diagrams • Relationships among classes • Aggregation: One type of has-a relationship • Indicates weak life-cycle dependence • e.g. an AcademicDepartment can be destroyed, yet its Students live on • Composition: Another type of has-a relationship • Indicates strong life-cycle dependence • e.g. When a car is destroyed, so is its engine
UML Class Diagrams • Relationships among classes • Pretty much any other relationship is association
UML Class Diagrams • Example: Extremely simplified class diagram of Assignment 3 (fields and methods omitted for clarity)