Sobes.tech
Junior

Čo je to abstraktná trieda?

sobes.tech AI

Odpoveď od AI

Abstraktná trieda je trieda, ktorú nie je možné priamo vytvoriť pomocou operátora new. Slúži ako základ pre iné triedy a môže obsahovať abstraktné metódy (bez implementácie) a bežné metódy (s implementáciou). Abstraktné triedy sa definujú kľúčovým slovom abstract.

Hlavné vlastnosti:

  • Nie je možné ju inštancovať: Nie je možné vytvoriť objekt samotnej abstraktnej triedy.
  • Môže obsahovať abstraktné metódy: Metódy bez tela, ktoré musia byť prepísané v odvodených triedach.
  • Môže obsahovať bežné metódy: Metódy s implementáciou, ktoré môžu byť zdedené alebo prepísané.
  • Dedičstvo: Odvodené triedy dedičia od abstraktnej triedy a musia implementovať všetky jej abstraktné metódy.

Príklad:

abstract class Shape {
  // Abstraktná metóda bez implementácie
  double getArea();

  // Bežná metóda s implementáciou
  void describe() {
    print('Toto je tvar.');
  }
}

class Circle extends Shape {
  double radius;

  Circle(this.radius);

  // Implementácia abstraktnej metódy
  @override
  double getArea() {
    return 3.14 * radius * radius;
  }
}

class Square extends Shape {
  double side;

  Square(this.side);

  // Implementácia abstraktnej metódy
  @override
  double getArea() {
    return side * side;
  }
}