2.4. UML Attributes

2.4.1. Instance Variables

../../_images/uml-attributes-instancevar.png
@startuml

class User {
    {field} username: str
    {field} password: str
}

@enduml
class User:
    username: str
    password: str

2.4.2. Class Variables

../../_images/uml-attributes-classvar.png
@startuml

class User {
    {static} AGE_MIN: int
    {static} AGE_MAX: int
}

@enduml
class User:
    AGE_MIN: int
    AGE_MAX: int

2.4.3. Abstract

../../_images/uml-attributes-abstract.png
@startuml

class User {
    {abstract} role
}

@enduml
from abc import ABC, abstractproperty


class User(ABC):
    @abstractproperty
    def role(self) -> str: ...

2.4.4. Grouping

../../_images/uml-attributes-grouping.png
@startuml

class User {
    .. Account ..
    username: str
    password: str
    .. Personal ..
    firstname: str
    lastname: str
}

@enduml
class User:
    username: str
    password: str
    firstname: str
    lastname: str