Sobes.tech
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();   // Նաֆաս է առնում
}

Այսպիսով, աբստրակտ դասը սահմանում է ընդհանուր ինտերֆեյս և հիմնական ֆունկցիոնալություն, իսկ կոնկրետ դասերը իրականացնում են մանրամասները։