Junior — Middle
Կարող եք բացատրել, թե ինչ է նշանակում օբյեկտային ծրագրավորման մեջ աբստրակտ դասի հասկացությունը:
sobes.tech AI
Պատասխան AI-ից
Օբյեկտների ուղղված ծրագրավորման մեջ, աբստրակտ դասը այն դասն է, որը նախատեսված չէ անմիջապես օրինակներ ստեղծելու համար: Այն ծառայում է որպես շաբլոն այլ դասերի համար և կարող է պարունակել ինչպես իրագործված մեթոդներ, այնպես էլ աբստրակտ (իրականացման բաց) մեթոդներ, որոնք պետք է իրագործվեն ենթակլասներում:
Օրինակ, Dart (Flutter լեզու)-ում, աբստրակտ դասը հայտարարում է abstract բանալի բառով:
abstract class Animal {
void makeSound(); // աբստրակտ մեթոդ
void breathe() {
print('Նաֆաս է առնում'); // իրագործված մեթոդ
}
}
class Dog extends Animal {
@override
void makeSound() {
print('Հաու');
}
}
void main() {
// Animal animal = Animal(); // Խափանում՝ հնարավոր չէ ստեղծել աբստրակտ դասի օրինակ
Dog dog = Dog();
dog.makeSound(); // Հաու
dog.breathe(); // Նաֆաս է առնում
}
Այսպիսով, աբստրակտ դասը սահմանում է ընդհանուր ինտերֆեյս և հիմնական ֆունկցիոնալություն, իսկ կոնկրետ դասերը իրականացնում են մանրամասները։