⊗ppOpBsGSA 14 of 107 menu

Zalety setterów i getterów w OOP w PHP

W poprzedniej lekcji zrobiliśmy dla każdej właściwości getter i setter. Może pojawić się pytanie, po co potrzebne są takie skomplikowania, przecież faktycznie tego samego efektu można osiągnąć, jeśli zrobić właściwości publicznymi, a nie prywatnymi.

Chodzi o to, że gettery i settery mają zalety: przed odwołaniem się do właściwości można wykonywać pewne sprawdzenia. Na przykład, w naszym przypadku przy zapisie imienia i nazwiska możemy sprawdzić, że nowa wartość nie jest pustym ciągiem znaków:

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

Sprawdźmy, jak to działa. Na początek stwórzmy obiekt klasy:

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

Teraz spróbujmy zapisać prawidłową wartość:

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

A teraz spróbujmy zapisać nieprawidłową:

<?php $user->setName(''); // błąd ?>

W klasie Employee w setterze wieku zrób sprawdzenie, że wiek powinien być od 0 do 120.

W klasie Employee w getterze pensji zrób tak, żeby przy odczycie pensji na koniec jej wartości był dodawany znak dolara.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć