Sobes.tech
Junior — Middle

Jaka jest maksymalna liczba klas abstrakcyjnych, które może zaimplementować jedna klasa w systemie obiektowym?

sobes.tech AI

Odpowiedź od AI

W C#, klasa może dziedziczyć tylko po jednej klasie abstrakcyjnej, ponieważ wielokrotne dziedziczenie klas nie jest obsługiwane. Jednak klasa może implementować wiele interfejsów.

Przykład:

abstract class Animal { public abstract void MakeSound(); }

interface IFlyable { void Fly(); }
interface ISwimmable { void Swim(); }

class Duck : Animal, IFlyable, ISwimmable
{
    public override void MakeSound() { Console.WriteLine("Quack"); }
    public void Fly() { Console.WriteLine("Flying"); }
    public void Swim() { Console.WriteLine("Swimming"); }
}

Tutaj klasa Duck dziedziczy po klasie abstrakcyjnej Animal i implementuje dwa interfejsy.