Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Objektové orientované programování Objektově orientované problémy v PHP Lukáš Masopust 2008.

Podobné prezentace


Prezentace na téma: "Objektové orientované programování Objektově orientované problémy v PHP Lukáš Masopust 2008."— Transkript prezentace:

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é…


Stáhnout ppt "Objektové orientované programování Objektově orientované problémy v PHP Lukáš Masopust 2008."

Podobné prezentace


Reklamy Google