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 და ახორციელებს ორი ინტერფეისს.