classDiagram
    class BankAccount
    BankAccount : +String owner
    BankAccount : -deposit(amount) int

    class Duck{
        +String beakColor
        #swim() int
        -canEat()
    }

    namespace BaseShapes {
        class Triangle
        class Rectangle {
            double width
            double height
        }
    }

    class nodeid[ "" "name<br>of&lt;#lt;*class*\'" "" ]:::css_class_name {
        +method() int
    }

    class `s\*a#lt;\\ \^*_d_s\n<i class="Dsds">dsds</i>a`:::css_class_name

    class Anim-al:::cssClass {
        <<fdsfs>>
        +attr: j\nk
        ~foo()  : jk
        dsd() vc : ds<b>dfdfdsd</b>
    }

    class Square~Shape~{
        int id
        List~int~ position
        setPoints(List~int~ points)
        getPoints() List~int~ \#lt;\#\*\n`jk` *ds*d
    }

    Square : -List~string~ messages
    Square : +setMessages(List~string~ messages)
    Square : +getMessages() List~string~
    Square : +getDistanceMatrix() List~List~int~~

    note "From Duck till Zebra"
    Animal <|-- Duck
    note for Duck "can<br>fly"
    Animal <|-- Fish

    A-A*-->B : text link<br>bla bla
    A-A>--oB
    A-A()--<B
    A-A--B : text link<br>bla bla
    A-A<--oB
    A-A|>--<|B
    A-A<|--|>B
    A-A o--()B

    A-A*..>B : text link<br>bla bla
    A-A>..oB
    A-A()..<B
    A-A..B : text link<br>bla bla
    A-A<..oB
    A-A|>..<|B
    A-A<|..|>B
    A-A o..()B

    cssClass "Animal,Animal2" someclass
    classDef someclass fill:#f96

    click className call callback() "tooltip"
    click className href "url" "tooltip"

    callback Class01 "callbackFunction" "Callback tooltip"
    link Class02 "https://example.com" "This is a link"

    direction RL

    style Animal fill:#f9f,stroke:#333,stroke-width:4px