⊗ppOpBsGSA 14 of 107 menu

Fördelar med setters och getters i OOP i PHP

I föregående lektion skapade vi för varje egenskap en getter och setter. Man kan undra varför sådana komplikationer är nödvändiga, eftersom man i princip kan uppnå samma effekt genom att göra egenskaperna publika istället för privata.

Saken är den att getters och setters har fördelar: innan åtkomst till en egenskap kan man utföra vissa kontroller. Till exempel, i vårt fall kan vi när vi skriver förnamn och efternamn kontrollera att det nya värdet inte är en tom sträng:

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

Låt oss kolla hur detta fungerar. Först skapar vi ett objekt av klassen:

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

Nu försöker vi skriva ett korrekt värde:

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

Och nu försöker vi skriva ett inkorrekt värde:

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

I klassen Employee, gör i settern för ålder en kontroll så att åldern måste vara från 0 till 120.

I klassen Employee, gör i gettern för lön så att när lönen läses läggs en dollarserong till i slutet av dess värde.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa