Sobes.tech
Junior

Ի՞նչ է աբստրակտ դասը։

sobes.tech AI

Պատասխան AI-ից

Աբստրակտ դասը այն դասն է, որը հնարավոր չէ անմիջապես ստեղծել new օպերատորի միջոցով: Այն ծառայում է որպես հիմք մյուս դասերի համար և կարող է պարունակել աբստրակտ մեթոդներ (անհատականացման առանց) և սովորական մեթոդներ (հատուկացման հետ): Աբստրակտ դասերը սահմանվում են abstract բանալի բառով:

Հիմնական հատկանիշներ:

  • Չի կարելի ինստանցացնել: Չի հնարավոր ստեղծել աբստրակտ դասի օբյեկտ:
  • Կարող է պարունակել աբստրակտ մեթոդներ: Մեթոդներ առանց մարմնի, որոնք պետք է վերագրեն ժառանգական դասերը:
  • Կարող է պարունակել սովորական մեթոդներ: Մեթոդներ, որոնք ունեն իրականացման, և կարող են ժառանգվել կամ վերագրել:
  • Ենթադրվում է ժառանգություն: Ժառանգական դասերը ժառանգում են աբստրակտ դասից և պետք է իրականացնել նրա բոլոր աբստրակտ մեթոդները:

Օրինակ:

abstract class Shape {
  // Աբստրակտ մեթոդ առանց իրականացման
  double getArea();

  // Սովորական մեթոդ իրականացմամբ
  void describe() {
    print('Սա фигուրա է։');
  }
}

class Circle extends Shape {
  double radius;

  Circle(this.radius);

  // Աբստրակտ մեթոդի իրականացում
  @override
  double getArea() {
    return 3.14 * radius * radius;
  }
}

class Square extends Shape {
  double side;

  Square(this.side);

  // Աբստրակտ մեթոդի իրականացում
  @override
  double getArea() {
    return side * side;
  }
}