PHP OOP: Co je abstraktní třída (Abstract class) [6]
Abstraktní třída (Abstract class) je v PHP OOP druh třídy, která neumožňuje vytváření vlastních instancí a primárně se počítá, že od této třídy budou nějaké další třídy dědit.
Vlastnosti:
- nelze vytvářet instance této třídy
- abstraktní třída by měla obsahovat alespoň jednu abstraktní metodu
- může obsahovat i klasické metody
- abstraktní metody nemohou definovat obsah (jinak dojde k vyvolání chyby)
Pro zajímavost - pokud chceme naopak nějaké třídě zakázat její dědění, tak ji nastavíme jako finální např. final class TridaBezDedeni.
Příklad použití abstraktní třídy
abstract class AbstractParent {
public $name;
public function __construct($name) {
$this->name = $name;
}
abstract public function getName() : string;
}
class Child extends AbstractParent {
public function getName() : string {
return "Name is $this->name";
}
}
$child = new Child("John");
echo $child->getName();
Tento kód vrátí
Name is John