⊗ppOpBsGSA 14 of 107 menu

Setterite ja getterite eelised OOP-s PHP-s

Eelmises õppetükis tegime iga atribuudi jaoks getteri ja setteri. Võib tekkida küsimus, miks on vaja selliseid keerukusi, kuna tegelikult sama efekti saab, kui teha atribuudid avalikuks, mitte privaatseteks.

Asi on selles, et getteritel ja setteritel on eelis: enne atribuudi poole pöördumist saab teha mõningaid kontrollimisi. Näiteks meie puhul saame nime ja perekonnanime kirjutamisel kontrollida, et uus väärtus ei oleks tühi string:

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

Kontrollime, kuidas see töötab. Kõigepealt loome klassi objekti:

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

Nüüd proovime kirjutada korrektset väärtust:

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

Ja nüüd proovime kirjutada ebakorrektset:

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

Klassis Employee tehke vanuse setteris kontroll, et vanus peaks olema vahemikus 0 kuni 120.

Klassis Employee tehke palga getteris nii, et palga lugemisel lisataks selle väärtuse lõppu dollari märk.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu