⊗ppOpBsGSA 14 of 107 menu

PHP da OOP da getter va setterlarning afzalliklari

Oldingi darsda biz har bir xususiyat uchun getter va setter yaratdik. Savol tug'ilishi mumkin, nima uchun bunday murakkabliklar kerak, axir amalda bir xil ta'sirga erishish mumkin, agar xususiyatlarni shaxsiy emas, balki ochiq qilib qo'ysak.

Gap shundaki, getter va setterlar afzallikga ega: xususiyatga murojaat qilishdan oldin ba'zi tekshiruvlarni bajarish mumkin. Masalan, bizning holatimizda ism va familiyani yozishda yangi qiymat bo'sh satr emasligini tekshirishimiz mumkin:

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

Keling, bu qanday ishlashini tekshiramiz. Boshlash uchun klass obyektini yaratamiz:

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

Endi to'g'ri qiymatni yozishga harakat qilaylik:

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

Endi noto'g'ri qiymatni yozishga harakat qilaylik:

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

Employee klassida yosh uchun setterda yosh 0 dan 120 gacha bo'lishi kerakligini tekshiradigan qiling.

Employee klassida maosh uchun getterda maosh qiymati o'qilganda uning oxiriga dollar belgisi qo'shiladigan qiling.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish