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;
}
}