PHP OOP: Základy objektového programování - třídy [1]

PHP OOP: Základy objektového programování - třídy [1]

Základní myšlenkou objektově orientovaného programování (OOP) je pohled na program jako na systém objektů = tzn. podobně jako vnímáme náš svět. V tomto článku se podíváme na definici a vytvoření třídy, atributů třídy, autoloader tříd a tři typy viditelnosti.

Hlavní tří body OOP jsou:

  • zapouzdření
  • dědičnost
  • polymorfismus

 

PHP OOP - co je to třída?

Třída (class) je v objektově orientovaném programování základním kamenem aplikace - seskupuje objekty se stejnými vlastnostmi. Třída neobsahuje konkrétní hodnoty - ty má až objekt. Jinak řečeno, jedná o šablonu/vzor objektu definující jaké vlastnosti a metody má každý z objektů této třídy. Objekt vzniklý dle třídy se nazývá instance. Atribut třídy je vlastnost, kterou mají všechny objekty dané třídy.

PHP OOP - jak vytvořit třídu?

Můžeme chtít vytvořit např. třídu Letadla, která bude mít veřejné (public) atributy třídy $oznaceni, $rychlost a $hmotnost - prakticky to znamená vytvoření souboru classes/Letadla.php s tímto obsahem:


class Letadla //třída letadla
{
public $oznaceni; //atribut třídy
public $rychlost; //atribut třídy
public $hmotnost; //atribut třídy
}



Třídu pak stačí pouze ručně includovat v daném PHP souboru.

PHP OOP - autoloader tříd

V budoucnu mohou naše aplikace obsahovat velké množství tříd a includování každé třídy zvlášť by bylo otravné, proto je vhodné použít v záhlaví tzv. autoloader tříd.

Funkce autoloader níže includuje automaticky všechny třídy v adresáři classes/*


function autoloader($class)
{
require("classes/$class.php");
}
spl_autoload_register("autoloader");



PHP OOP - co je viditelnost?

U atributů a metod se definuje ještě tzv. viditelnost (visibility), jsou tři typy:

    • public - k metodám a atributům lze přistupovat ze všech tříd
    • protected - k metodám a atributům může přistupovat jen daná třída a potomci
    • private - k metodám a atributům může přistupovat jen daná třída

 

PHP OOP - co je konstruktor?

Konstruktor __construct() je tzv. magická metoda - začíná dvěma podtržítky. Ze všech magických metod je konstruktor asi nejvíce využívaný. Konstruktor se vždy sám spustí při vytvoření instance třídy a provádí provotní nastavení objektu.

public function __construct(string $name)
{
    $this->name = $name;
}

Všechny magické metody jsou:

__construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __serialize(), __unserialize(), __toString(), __invoke(), __set_state(), __clone() a __debugInfo()

Jak se ti článek líbil?

Komentáře (0)

Přidat komentář