⊗ppOpBsGSA 14 of 107 menu

Prednosti seterjev in geterjev v OOP v PHP

V prejšnji lekciji smo naredili za vsako lastnost geter in seter. Lahko se pojavi vprašanje, zakaj so potrebne takšne zapletenosti, saj dejansko istega učinka lahko dosežemo, če naredimo lastnosti javne, namesto zasebne.

Bistvo je v tem, da imajo geterji in seterji prednost: pred dostopom do lastnosti lahko izvedemo nekatere preverbe. Na primer, v našem primeru lahko pri zapisovanju imena in priimka preverimo, da nova vrednost ni prazen niz:

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

Preverimo, kako to deluje. Za začetek ustvarimo objekt razreda:

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

Zdaj poskusimo zapisati korektno vrednost:

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

Zdaj pa poskusimo zapisati nekorektno:

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

V razredu Employee v seterju starosti naredite preverbo, da mora biti starost od 0 do 120.

V razredu Employee v geterju plače naredite tako, da se pri branju plače na konec njene vrednosti doda znak dolarja.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni