Junior — Middle
Jaké jsou hlavní funkce a využití abstraktních tříd v objektově orientovaném programování?
sobes.tech AI
Odpověď od AI
Abstraktní třídy v objektově orientovaném programování jsou třídy, které nejsou určeny k přímému vytváření instancí, ale slouží jako základní šablony pro jiné třídy.
Hlavní funkce abstraktních tříd:
- Definování společného rozhraní a základního chování pro skupinu souvisejících tříd.
- Možnost deklarovat abstraktní metody (bez implementace), které musí být implementovány podtřídami.
- Umožňují částečnou implementaci funkcionality, kterou dědí potomci.
Použití:
- Když je potřeba stanovit společný kontrakt pro různé implementace.
- Když je část logiky společná, a část musí být implementována v dědicích.
Příklad v Java:
abstract class Animal {
abstract void makeSound(); // abstraktní metoda
void breathe() {
System.out.println("Dýchá");
}
}
class Dog extends Animal {
void makeSound() {
System.out.println("Haf-haf");
}
}
Zde nelze třídu Animal přímo vytvořit, ale lze vytvořit Dog, který implementuje metodu makeSound.