Jazyk PHP - pokračování
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
– Knihy
Knih
– Parní lokomotivy
Parní lokomotiv
Tyto typu spolu nemají nic společného a proto
Tyto typu spolu nemají nic společného a proto
nemá smysl zavádět dědičnost
nemá smysl zavádět dědičnos
Řešení?
Řešení
Řešen
Řeše
– Zavedeme rozhraní (interface)
Zavedeme rozhraní (interface
– Rozhraní je způsob, jak vytvořit vícenásobnou dědičnost
Rozhraní je způsob, jak vytvořit vícenásobnou dědičnos
Statické třídní proměnné a metody
Statické třídní proměnné a metod
Static = patří k celé třídě, nikoli k instanci
Static = patří k celé třídě, nikoli k instanc
Co z toho plyne:
Co z toho plyne
– Existuje jenom jedna (proměnná || metoda) v systému
Existuje jenom jedna (proměnná || metoda) v systém
– Metody nesmí používat standardní proměnné třídy
Metody nesmí používat standardní proměnné tříd
– Metody mohou pracovat používat jen parametricky zadané
Metody mohou pracovat používat jen parametricky zadané
informace
informac
– Klíčové slovo
Klíčové slovo self
self místo
místo this
thi
• this
this ukazuje na instanci, tu u statické metody nemáme, proto
ukazuje na instanci, tu u statické metody nemáme, proto self
sel
jakožto ukazatel na třídu
jakožto ukazatel na tříd
Příklad použití statické proměnné
Příklad použití statické proměnn
Úkol:
Úkol
– kolik bylo v systému vytvořeno instancí košíků?
kolik bylo v systému vytvořeno instancí košíků
– kuk (kosik_objektovy1.3.php)
kuk (kosik_objektovy1.3.php
class BetterBasket extends Basket {
protected static $num_of_baskets = 0;
public function __construct() {
parent::__construct();
self::$num_of_baskets++;
}
public static function getNumBaskets() {
return self::$num_of_baskets;
}
}
Vždy volám konstruktor nadtřídy
Statické metody
Statické metod
Dají se volat bez nutnosti vyrobit instanci objektu
Dají se volat bez nutnosti vyrobit instanci objekt