⊗ppOpBsGSA 14 of 107 menu

PHP'de OOP'de Setter ve Getter'ların Avantajları

Önceki derste, her özellik için bir getter ve setter yaptık. Şu soru akla gelebilir: Neden böyle karmaşıklıklara ihtiyaç var? Çünkü aslında aynı etki, özellikleri özel (private) yerine genel (public) yaparak da elde edilebilir.

Olay şu ki, getter ve setter'ların bir avantajı var: Bir özelliğe erişmeden önce bazı kontroller yapılabilir. Örneğin, bizim durumumuzda isim ve soyisimi yazdırırken, yeni değerin boş bir string olmadığını kontrol edebiliriz:

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

Bunun nasıl çalıştığını test edelim. Öncelikle sınıfın bir nesnesini oluşturalım:

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

Şimdi doğru bir değer yazmayı deneyelim:

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

Ve şimdi de yanlış bir değer yazmayı deneyelim:

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

Employee sınıfında, yaş setter'ında yaşın 0 ile 120 arasında olması gerektiğini kontrol edin.

Employee sınıfında, maaş getter'ında maaş okunduğunda, değerinin sonuna dolar işareti eklenmesini sağlayın.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet