@startuml

package "org.lesson_2.character" {
    abstract class Character {
        #WeaponBehaviour weapon
        +void setWeapon()
        +void fight()
    }

    class Queen extends Character
    class King extends Character
    class Troll extends Character
    class Knight extends Character
}

package "org.lesson_2.weapon_behaviour" {
    interface WeaponBehaviour {
        +void useWeapon()
    }

    class KnifeBehaviour implements WeaponBehaviour
    class BowAndArrowBehaviour implements WeaponBehaviour
    class AxeBehaviour implements WeaponBehaviour
    class SwordBehaviour implements WeaponBehaviour
}

Character o-- WeaponBehaviour

@enduml