⊗ppOpBsGSA 14 of 107 menu

PHP да ООПда сеттерлар ва геттерларнинг афзалликлари

Олдинги дарсда биз ҳар бир хусусият учун геттер ва сеттер ясадик. Нега бундай мураккабликлар зарур, деган савол туғилуши мумкин, ахоли, шунингдек натижага эришиш мумкин, агар хусусиятларни хусусий эмас, балки оммавий қилиб қўйсак.

Гaп шундаки, геттерлар ва сеттерлар афзалликка эга: хусусиятга мурожаат қилишдан олдин баъзи текширишларни бажариш мумкин. Мисол учун, бизнинг ҳолатимизда исм ва фамилияни ёзishда биз янги қиймат бўш сатр эмаслигини текширишимиз мумкин:

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

Келгила, бу ишлашини текшириб кўрамиз. Аввало класс объектини яратамиз:

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

Энди мос келувчи қийматни ёзishға ҳаракат қиламиз:

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

Энди эса мос келмаган қийматни ёзishға ҳаракат қиламиз:

<?php $user->setName(''); // хато ?>

Employee классасида ёш учун сеттерда ёш 0 дан 120 гача бўлиши кераклигини текширадиган код ёзинг.

Employee классасида маош учун геттерда маош қиймати ўқилганда, унинг охирига доллар белгиси қўшиладиган қилиб такинг.

Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш