Junior — Middle
Můžete vysvětlit, co znamená pojem abstraktní třída v objektově orientovaném programování?
sobes.tech AI
Odpověď od AI
Abstraktní třída v objektově orientovaném programování je třída, která není určena k přímému vytváření instancí. Slouží jako šablona pro jiné třídy a může obsahovat jak implementované metody, tak abstraktní (bez implementace), které musí být implementovány v podtřídách.
Například v Dart (jazyk Flutter) je abstraktní třída deklarována pomocí klíčového slova abstract:
abstract class Animal {
void makeSound(); // abstraktní metoda
void breathe() {
print('Dýchá'); // implementovaná metoda
}
}
class Dog extends Animal {
@override
void makeSound() {
print('Haf');
}
}
void main() {
// Animal animal = Animal(); // Chyba: nelze vytvořit instanci abstraktní třídy
Dog dog = Dog();
dog.makeSound(); // Haf
dog.breathe(); // Dýchá
}
Tímto způsobem abstraktní třída definuje obecné rozhraní a základní funkčnost, zatímco konkrétní třídy implementují detaily.