Sobes.tech
Junior — Middle

Kiek maksimaliai abstrakčių klasių gali įgyvendinti viena klasė objektų orientuotoje sistemoje?

sobes.tech AI

Atsakymas iš AI

C# kalboje viena klasė gali paveldėti tik iš vienos abstrakčiosios klasės, nes daugiagyslė paveldėjimas nėra palaikomas. Tačiau klasė gali įgyvendinti kelis interfeisus.

Pavyzdys:

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

Čia, klasė Duck paveldi iš vienos abstrakčiosios klasės Animal ir įgyvendina du interfeisus.