⊗ppOpBsGSA 14 of 107 menu

Setterių ir getterių pranašumai OOP PHP

Ankstesnėje pamokoje mes sukūrėme kiekvienam savybei getterį ir setterį. Gali kilti klausimas, kam reikalingi tokie sudėtingumai, nes praktiškai to pačio efekto galima pasiekti, jei savybes padarytume viešas, o ne privačias.

Reikalas tas, kad getteriai ir setteriai turi pranašumą: prieš kreipiantis į savybę galima atlikti tam tikrus patikrinimus. Pavyzdžiui, mūsų atveju mes įrašant vardą ir pavardę galime patikrinti, kad nauja reikšmė nėra tuščia eilutė:

<?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; } } ?>

Patikrinkime, kaip tai veikia. Pirmiausia sukurkime klasės objektą:

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

Dabar pabandykime įrašyti teisingą reikšmę:

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

O dabar pabandykime įrašyti neteisingą:

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

Klasėje Employee setteryje amžiaus atlikite patikrinimą, kad amžius turi būti nuo 0 iki 120.

Klasėje Employee getteryje atlyginimo padarykite taip, kad skaitant atlyginimą prie jo reikšmės galo būtų pridedamas dolerio ženklas.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti