Sobes.tech
Junior — Middle

Oby explain edə bilərsinizmi, obyekt yönümlü proqramlaşdırmada abstrakt sinif anlayışının nə olduğunu?

sobes.tech Süni İntellekt

AI-dan cavab

Obyekt yönümlü proqramlaşdırmada abstrakt sinf, birbaşa nümunələri yaradılmayan sinfdır. Bu, digər sinflər üçün şablon kimi xidmət edir və həm həyata keçirilmiş metodları, həm də həyata keçirilməmiş (implementasiya olunmamış) abstrakt metodları ehtiva edə bilər, bunlar alt sinflərdə həyata keçirilməlidir.

Məsələn, Dart (Flutter dili) dilində, abstrakt sinf abstract açar sözü ilə elan edilir:

abstract class Animal {
  void makeSound(); // abstrakt metod

  void breathe() {
    print('Nəfəs alır'); // həyata keçirilmiş metod
  }
}

class Dog extends Animal {
  @override
  void makeSound() {
    print('Hav');
  }
}

void main() {
  // Animal animal = Animal(); // Xəta: abstrakt sinfin nümunəsini yarada bilməzsiniz
  Dog dog = Dog();
  dog.makeSound(); // Hav
  dog.breathe();   // Nəfəs alır
}

Beləliklə, abstrakt sinf ümumi interfeys və əsas funksionallıq müəyyən edir, konkret sinflər isə detalları həyata keçirir.