Sobes.tech
Junior — Middle

Ποιος είναι ο μέγιστος αριθμός αφηρημένων κλάσεων που μπορεί να υλοποιήσει μια κλάση σε ένα αντικειμενοστραφές σύστημα;

sobes.tech AI

Απάντηση από AI

Στη C#, μια κλάση μπορεί να κληρονομήσει μόνο από μια αφηρημένη κλάση, καθώς η πολλαπλή κληρονομιά κλάσεων δεν υποστηρίζεται. Ωστόσο, μια κλάση μπορεί να υλοποιεί πολλαπλά interfaces.

Παράδειγμα:

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 και υλοποιεί δύο interfaces.