PHP OOP: Co je abstraktní třída (Abstract class) [6]

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

 

Odkazy

Soubory na github.com

Jak se ti článek líbil?

Komentáře (0)

Přidat komentář