Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilMagdaléna Benešová
1
Objektové orientované programování Objektově orientované problémy v PHP Lukáš Masopust 2008
2
Třída se přestavuje Třída Vlastnosti Konstruktor Naplnění Zavolání metody Destruktor Metoda Class Cucitel{ Var $vyska, $vaha, $jmeno; Function __construct ($vyska, $vaha, $jmeno) { $this->vyska =$ vyska; $this->vaha= $vaha; $this->jmeno = $jmeno; $this->ServatStudenty(); } Function __destruct () { Unset($this->vyska); Unset($this->$vaha); Unset($this->$prinost); […] } Function ServatStudenty() Echo „Tady bude ticho!!!“ } Class Cucitel{ Var $vyska, $vaha, $jmeno; Function __construct ($vyska, $vaha, $jmeno) { $this->vyska =$ vyska; $this->vaha= $vaha; $this->jmeno = $jmeno; $this->ServatStudenty(); } Function __destruct () { Unset($this->vyska); Unset($this->$vaha); Unset($this->$prinost); […] } Function ServatStudenty() Echo „Tady bude ticho!!!“ }
3
Né vše mohou vidět všechno… Třída Public - přístupná všem uživatelům třídy. Protected - přístupná uživatelům třídy (rodiče) a podtřídy, která tuto třídu dědí. Private - přístupná pouze uvnitř třídy. Vytvoření objektu Voláme metodu objektu Přístupujeme k vlastnosti Class Cucitel{ […] public $verejna = 'Veřejná'; protected $chranena = 'Chráněná'; private $soukroma = 'Soukromá'; } $Skop = new Cucitel (185, NaN, „Škop“); $Skop->servatStudenty(); Echo $Skop->jmeno; Class Cucitel{ […] public $verejna = 'Veřejná'; protected $chranena = 'Chráněná'; private $soukroma = 'Soukromá'; } $Skop = new Cucitel (185, NaN, „Škop“); $Skop->servatStudenty(); Echo $Skop->jmeno;
4
Učitel zplodí potomka Třída Nová vlastnost Nový konstruktor Přepisujeme metodu Vytváříme objekt Voláme překrytou metodu Class Cmucitel extends Cucitel{ Var $hlasitost=1; Function __construct ($vyska, $vaha, $jmeno, $hlasitost) { $this->vyska =$ vyska; $this->vaha= $vaha; $this->jmeno = $jmeno; $ this->hlasitost=$hlasitost $this->servatStudenty(); } Function servatStudenty($hlasitost) for ($i=0;$i<$hlasitost;$i++) Echo „Tady bude ticho!!!“ } $LM= new Cmucitel (182, 80, „LM“, 5) ; $LM::servatStudenty(); //funguje jen unitř Cmucitel Class Cmucitel extends Cucitel{ Var $hlasitost=1; Function __construct ($vyska, $vaha, $jmeno, $hlasitost) { $this->vyska =$ vyska; $this->vaha= $vaha; $this->jmeno = $jmeno; $ this->hlasitost=$hlasitost $this->servatStudenty(); } Function servatStudenty($hlasitost) for ($i=0;$i<$hlasitost;$i++) Echo „Tady bude ticho!!!“ } $LM= new Cmucitel (182, 80, „LM“, 5) ; $LM::servatStudenty(); //funguje jen unitř Cmucitel
5
Mnohotvarost $Skop = new Cucitel (185, NaN, „Škop“); Function __construct ($vyska, $vaha, $jmeno) { $this->vyska =$ vyska; $this->vaha= $vaha; $this->jmeno = $jmeno; $this->ServatStudenty(); } Function __construct ($vyska, $vaha, $jmeno) { $this->vyska =$ vyska; $this->vaha= $vaha; $this->jmeno = $jmeno; $this->ServatStudenty(); } $LM= new Cmucitel (182, 80, „LM“, 2) ; Function __construct ($vyska, $vaha, $jmeno, $hlasitost) { $this->vyska =$ vyska; $this->vaha= $vaha; $this->jmeno = $jmeno; $ this->hlasitost=$hlasitost; $this-> ServatStudenty($hlasitost); } Function __construct ($vyska, $vaha, $jmeno, $hlasitost) { $this->vyska =$ vyska; $this->vaha= $vaha; $this->jmeno = $jmeno; $ this->hlasitost=$hlasitost; $this-> ServatStudenty($hlasitost); } Vypíše: Tady bude ticho!!! Vypíše: Tady bude ticho!!! Tady bude ticho!!!
6
Objektové rozhraní - interface Vytvoříte kostru třídy a výsledná třída poté kostru jen implementuje. interface Rozhrani{ public function VypisuRozhrani(); public function VypisParametr($parametr); } class Trida implements Rozhrani{ public function VypisuRozhrani(){ echo 'Rozhraní bylo zahrnuto'; } public function VypisParametr($parametr){ echo $parametr; } $tr = new Trida; $tr->VypisuRozhrani(); $tr->VypisParametr('Vypíše paramtr'); interface Rozhrani{ public function VypisuRozhrani(); public function VypisParametr($parametr); } class Trida implements Rozhrani{ public function VypisuRozhrani(){ echo 'Rozhraní bylo zahrnuto'; } public function VypisParametr($parametr){ echo $parametr; } $tr = new Trida; $tr->VypisuRozhrani(); $tr->VypisParametr('Vypíše paramtr'); Definice rozhraní Musí být public Třída, která implementuje rozhraní
7
To je vše přátelé…
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.