Zápisky z přednášek
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.
•
zapouzdření(nové modifikátory public, protected, private)
•
dědičnost
•
polymorfismus – volání jedné metody se stejným jménem, ale jinou implementací
konstruktor
•
V PHP4 má konstruktor stejné jméno jako třída
•
V PHP5 existuje speciální metoda se jménem
•
V PHP5 existuje speciální metoda se jménem __costruct() a __destruct()
modifikátory viditelnosti
•
Public – kdokoli může vidět a modifikovat
•
Private – je vidět jen uvnitř třídy
•
Protected – jako private a také z rozšiřujících tříd
•
Vztahuje se na proměnné i metody
Statické metody a proměnné
•
Klíčové slovo static
•
Bude vyrobena jen jednou pro všechny instance dané třídy
•
Volají se jako trida::metoda()
Final
•
Třídy a metody mohou být final
•
Třída final nemůže být rozšířena
•
Metoda final nemůže být přetížena v potomkovi
Magické konstanty
•
Sada kontant, které ale mění svojí hodnotu podle kontextu
•
__LINE__
•
__FILE__
•
__DIR__
•
__FUNCTION__
•
__CLASS__
•
__METHOD__
•
__NAMESPACE__
Magické metody
•
Ty, které si nevoláme sami
•
__construct(), __destruct() - vytvoření, zničení konstruktoru třídy
•
__call() - funkce, která se zavolá, když voláme neexistující funkci
•
__get(), __set(), __isset() - jsou zavolány v případě, že voláme neexistujíí vlastnost
•
__sleep(), __wakeup(), __toString() - serializace
•
a další
Autoload
•
Jestliže nebude nalezena definice dané třídy, bude zavolána funkce __autoload().
Errory a výjimky
•
metody error_reporting() a set_error_handler()
•
Výjimky jako v Javě. Máme třídu Exception, každá výjimka je rozšíření této třídy
•
Můžeme vyrábět vlastní
Abstraktní třídy a metody
•
Abstraktní metoda definuje jméno a parametry, žádnou implementaci
•
Třída, která má alespoň jednu abstraktní metodu je také abstraktní
•
Hodí se tehdy, když chci skoro všechno udělat za koncového uživatele, jenom nějakou
maličkost nechat na něm
Interface
= rozhran
í
•
k vytvoření vícenásobné dědičnosti
Přednáška 06 – Oddělení aplikační
a prezentační logiky