Sobes.tech
Junior — Middle

Koja je maksimalna količina apstraktnih klasa koje jedna klasa može implementirati u objektno-orijentisanom sistemu?

sobes.tech АИ

Одговор од АИ

U C#-u, klasa može nasleđivati samo jednu apstraktnu klasu, jer višestruko nasleđivanje klasa nije podržano. Međutim, klasa može implementirati više interfejsa.

Primer:

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

Ovde, klasa Duck nasleđuje jednu apstraktnu klasu Animal i implementira dva interfejsa.