Sobes.tech
Junior — Middle

Môžete vysvetliť, čo znamená pojem abstraktná trieda v objektovo orientovanom programovaní?

sobes.tech AI

Odpoveď od AI

Abstraktna trieda v objektovo orientovanom programovaní je trieda, ktorá nie je určená na priame vytváranie inštancií. Slúži ako šablóna pre iné triedy a môže obsahovať ako implementované metódy, tak aj abstraktné (bez implementácie), ktoré musia byť implementované v podtriedach.

Napríklad v Dart (jazyk Flutter) je abstraktná trieda deklarovaná pomocou kľúčového slova abstract:

abstract class Animal {
  void makeSound(); // abstraktná metóda

  void breathe() {
    print('Dýcha'); // implementovaná metóda
  }
}

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

void main() {
  // Animal animal = Animal(); // Chyba: nie je možné vytvoriť inštanciu abstraktnej triedy
  Dog dog = Dog();
  dog.makeSound(); // Hav
  dog.breathe();   // Dýcha
}

Týmto spôsobom abstraktná trieda definuje všeobecné rozhranie a základnú funkcionalitu, zatiaľ čo konkrétne triedy implementujú detaily.