Junior
Co je to abstraktní třída?
sobes.tech AI
Odpověď od AI
Abstraktní třída je třída, kterou nelze přímo vytvořit pomocí operátoru new. Slouží jako základ pro jiné třídy a může obsahovat abstraktní metody (bez implementace) a běžné metody (s implementací). Abstraktní třídy jsou definovány klíčovým slovem abstract.
Hlavní vlastnosti:
- Nelze instancovat: Není možné vytvořit objekt samotné abstraktní třídy.
- Může obsahovat abstraktní metody: Metody bez těla, které musí být přepsány v odvozených třídách.
- Může obsahovat běžné metody: Metody s implementací, které mohou být děděny nebo přepsány.
- Dědičnost: Odvozené třídy dědí od abstraktní třídy a musí implementovat všechny její abstraktní metody.
Příklad:
abstract class Shape {
// Abstraktní metoda bez implementace
double getArea();
// Běžná metoda s implementací
void describe() {
print('Jedná se o tvar.');
}
}
class Circle extends Shape {
double radius;
Circle(this.radius);
// Implementace abstraktní metody
@override
double getArea() {
return 3.14 * radius * radius;
}
}
class Square extends Shape {
double side;
Square(this.side);
// Implementace abstraktní metody
@override
double getArea() {
return side * side;
}
}