The class diagram is the main building block of object-oriented modeling. It is used for general conceptual modeling of the structure of the application, and for detailed modeling translating the models into programming code. Class diagrams can also be used for data modeling. The classes in a class diagram represent both the main elements, interactions in the application, and the classes to be programmed. Example 1
classDiagram Animal <|-- Duck Animal <|-- Fish Animal <|-- Zebra Animal : +int age Animal : +String gender Animal: +isMammal() Animal: +mate() class Duck{ +String beakColor +swim() +quack() } class Fish{ -int sizeInFeet -canEat() } class Zebra{ +bool is_wild +run() }
Example 2
classDiagram class BankAccount BankAccount : +String owner BankAccount : +Bigdecimal balance BankAccount : +deposit(amount) BankAccount : +withdrawl(amount)
Example 3
classDiagram class Animal Vehicle <|-- Car
Example 4
classDiagram class Square~Shape~{ int id List~int~ position setPoints(List~int~ points) getPoints() List~int~ }
Example 5
classDiagram classA <|-- classB classC *-- classD classE o-- classF classG <-- classH classI -- classJ classK <.. classL classM <|.. classN classO .. classP
Example 6
classDiagram classA --|> classB : Inheritance classC --* classD : Composition classE --o classF : Aggregation classG --> classH : Association classI -- classJ : Link(Solid) classK ..> classL : Dependency classM ..|> classN : Realization classO .. classP : Link(Dashed)
Example 7
classDiagram classA <|-- classB : implements classC *-- classD : composition classE o-- classF : association
Example 8
classDiagram Customer "1" --> "*" Ticket Student "1" --> "1..*" Course Galaxy --> "many" Star : Contains
Example 9
classDiagram class Shape{ <> noOfVertices draw() } class Color{ <> RED BLUE GREEN WHITE BLACK }
Example 10
classDiagram %% This whole line is a comment classDiagram class Shape <> class Shape{ <> noOfVertices draw() }
Example 11
class BankAccount BankAccount : +String owner BankAccount : +BigDecimal balance BankAccount : +deposit(amount) BankAccount : +withdrawal(amount)
Example 12
class BankAccount{ +String owner +BigDecimal balance +deposit(amount) bool +withdrawl(amount) }
Example 13
class BankAccount{ +String owner +BigDecimal balance +deposit(amount) bool +withdrawl(amount) int }