⊗ppOpBsGSA 14 of 107 menu

Setteru un getteru priekšrocības OOP PHP

Iepriekšējā nodarbībā mēs izveidojām katram īpašumam getteri un setteri. Var rasties jautājums, kāpēc ir vajadzīgas tādas sarežģītības, jo faktiski tādu pašu efektu var sasniegt, ja padara īpašumus publiskiem, nevis privātiem.

Lieta ir tāda, ka getteriem un setteriem ir priekšrocība: pirms piekļūšanas īpašumam var veikt dažas pārbaudes. Piemēram, mūsu gadījumā, ierakstot vārdu un uzvārdu, mēs varam pārbaudīt, ka jaunā vērtība nav tukša virkne:

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

Pārbaudīsim, kā tas darbojas. Vispirms izveidosim klases objektu:

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

Tagad mēģināsim ierakstīt korektu vērtību:

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

Un tagad mēģināsim ierakstīt nekorektu:

<?php $user->setName(''); // kļūda ?>

Klasē Employee setterā vecuma veiciet pārbaudi, ka vecumam jābūt no 0 līdz 120.

Klasē Employee getterā algas izdariet tā, lai lasot algu beigās tās vērtībai tiktu pievienota dolāra zīme.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt