⊗ppOpBsGSA 14 of 107 menu

Výhody setterů a getterů v OOP v PHP

V předchozí lekci jsme vytvořili pro každou vlastnost getter a setter. Může vyvstat otázka, k čemu jsou potřebné takové komplikace, když stejného efektu lze dosáhnout, pokud uděláme vlastnosti veřejné, nikoli privátní.

Jde o to, že gettery a settery mají výhodu: před přístupem k vlastnosti lze provést některé kontroly. Například v našem případě při zápisu jména a příjmení můžeme zkontrolovat, že nová hodnota není prázdný řetězec:

<?php class User { private $name; private $surn; public function setName($name) { if (strlen($name) > 0) { $this->name = $name; } else { echo 'name is incorrect'; } } public function setSurn($surn) { if (strlen($surn) > 0) { $this->surn = $surn; } else { echo 'surn is incorrect'; } } public function getName() { return $this->name; } public function getSurn() { return $this->surn; } } ?>

Pojďme vyzkoušet, jak to funguje. Nejprve vytvoříme objekt třídy:

<?php $user = new User(); ?>

Nyní zkusíme zapsat správnou hodnotu:

<?php $user->setName('john'); ?>

A nyní zkusíme zapsat nesprávnou:

<?php $user->setName(''); // chyba ?>

Ve třídě Employee v setteru věku proveďte kontrolu, že věk musí být od 0 do 120.

Ve třídě Employee v getteru platu udělejte to, aby při čtení platu na konec jeho hodnoty byl přidán znak dolaru.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout