Sobes.tech
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.