Aller au contenu

Game Inheritence

13 classes 1 interface avec interface implementation, héritage, association

classDiagram
    class Being {
        -int maxHealth
        #int health
        #double resistance
        +receiveDamage(int amount)
    }
    class Castle {
        +int defense
    }
    class Human {
        +String Attribute1
        +int mana
    }
    class Orc {
        +int rage
    }
    class Comparable {
        +compareTo(T t)
    }
    class SpacialElement {
        -String name
        #int x
        #int y
        +SpacialElement(name, x, y)
    }
    class Humanoid {
    }
    class Tree {
    }
    class Rock {
    }
    class Eagle {
        +int vision
    }
    class House {
        -int price
    }
    class Wolf {
    }
    class Dragon {
        -int power
        -int range
    }
    class Animal {
    }
    Tree --|> Being
    Rock --|> SpacialElement
    Eagle --|> Animal
    Wolf --|> Animal
    Being --|> SpacialElement
    House --|> SpacialElement
    Dragon --|> Animal
    Castle --|> House
    Humanoid "0..1" --> "0..*" Animal : < own
    Humanoid "0..1" --> "0..*" House : ^own
    Orc --|> Humanoid
    Human --|> Humanoid
    Being ..|> Comparable