Sobes.tech
Junior — Middle

Vai jūs varat izskaidrot, ko nozīmē abstraktās klases jēdziens objektorientētajā programmēšanā?

sobes.tech AI

Atbilde no AI

Objektorientētās programmēšanas abstraktā klase ir klase, kuras tieši nevar izveidot eksemplārus. Tā kalpo kā šablons citām klasēm un var saturēt gan realizētās metodes, gan abstraktās (bez realizācijas) metodes, kuras jārealizē apakšklasēs.

Piemēram, Dart (Flutter valoda) abstraktā klase tiek deklarēta ar atslēgvārdu abstract:

abstract class Animal {
  void makeSound(); // abstrakta metode

  void breathe() {
    print('Elpo'); // realizēta metode
  }
}

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

void main() {
  // Animal animal = Animal(); // Kļūda: nevar izveidot abstraktas klases eksemplāru
  Dog dog = Dog();
  dog.makeSound(); // Hau
  dog.breathe();   // Elpo
}

Tādējādi, abstraktā klase nosaka kopēju saskarni un pamatfunkcionalitāti, bet konkrētās klases īsteno detaļas.