Sobes.tech
Junior — Middle

Obyektga yo'naltirilgan tizimda bir sinf qanday maksimal abstrakt sinflarni amalga oshirishi mumkin?

sobes.tech AI

AIdan javob

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дан наслед олади ва икки интерфейсни амалга оширади.