Sobes.tech
Junior — Middle

Jak w systemie można tworzyć różne rodzaje zachowań dla broni?

sobes.tech AI

Odpowiedź od AI

Aby tworzyć różne rodzaje zachowań broni w systemie C#, można użyć kilku podejść:

  1. Dziedziczenie i nadpisywanie metod — utworzyć bazową klasę Weapon z wirtualną metodą Attack(), a dla każdego typu broni utworzyć podklasę z własną implementacją.
public abstract class Weapon {
    public abstract void Attack();
}

public class Sword : Weapon {
    public override void Attack() {
        Console.WriteLine("Miecz wykonuje atak mieczem");
    }
}

public class Bow : Weapon {
    public override void Attack() {
        Console.WriteLine("Łuk strzela strzałą");
    }
}
  1. Użycie interfejsów — zdefiniować interfejs IAttackBehavior i wstrzykiwać różne implementacje do klas broni.

  2. Strategia (wzorzec projektowy) — wydzielenie zachowania do osobnych klas i zmiana ich dynamicznie.

Takie podejście pozwala na łatwe rozszerzanie systemu, dodając nowe rodzaje broni i zachowań bez zmiany istniejącego kodu.