Sobes.tech
Junior — Middle

Какъв е максималният брой абстрактни класове, които може да реализира един клас в обектно-ориентирана система?

sobes.tech AI

Отговор от AI

В C# клас може да наследява само един абстрактен клас, тъй като множественото наследяване на класове не е поддържано. Въпреки това, класът може да реализира множество интерфейси.

Пример:

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"); }
}

Тук, класът Duck наследява един абстрактен клас Animal и реализира два интерфейса.