რა მოხდება, თუ აბსტრაქტულ კლასში ჩვეულებრივი მეთოდი განისაზღვრება?
sobes.tech AI
პასუხი AI-სგან
Եթե մի абստրակտ դասում սահմանեք սովորական (ոչ աբստրակտ) մեթոդ, ապա այդ մեթոդը կունենա իրագործում և կարող է կանչվել այն օբյեկտների վրա, որոնք ժառանգում են այդ աբստրակտ դասից:
Աբստրակտ դասը ծառայում է որպես հիմք, որը կարող է պարունակել ինչպես աբստրակտ մեթոդներ (չի ունենա իրագործում), այնպես էլ սովորական մեթոդներ՝ իրագործմամբ: Որոշված է, որ ենթակլասները պետք է իրագործեն բոլոր աբստրակտ մեթոդները, բայց կարող են օգտագործել կամ վերագրել սովորական մեթոդները ըստ անհրաժեշտության:
C# օրինակով:
abstract class Animal
{
public void Eat() // սովորական մեթոդ՝ իրագործմամբ
{
Console.WriteLine("Համայն կենդանին ուտում է");
}
public abstract void MakeSound(); // աբստրակտ մեթոդ
}
class Dog : Animal
{
public override void MakeSound()
{
Console.WriteLine("Հա-հա");
}
}
Այս օրինակով, Eat մեթոդը սահմանված է աբստրակտ դասում և հասանելի է բոլոր ժառանգներին՝ առանց վերագրելու անհրաժեշտության: Սա թույլ է տալիս աբստրակտ դասին տրամադրել ընդհանուր գործառնականություն, իսկ աբստրակտ մեթոդները պահանջում են հատուկ վարքագծի իրագործում։