⊗ppOpBsGSA 14 of 107 menu

Fordele ved setters og getters i OOP i PHP

I den forrige lektion lavede vi for hver egenskab en getter og setter. Der kan opstå et spørgsmål om, hvorfor sådanne komplikationer er nødvendige, for faktisk kan den samme effekt opnås, hvis man gør egenskaberne offentlige i stedet for private.

Det skyldes, at getters og setters har en fordel: før adgang til egenskaben kan man udføre visse kontroller. For eksempel kan vi i vores tilfælde ved indtastning af fornavn og efternavn kontrollere, at den nye værdi ikke er en tom streng:

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

Lad os teste, hvordan dette fungerer. Lad os først oprette et objekt af klassen:

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

Lad os nu prøve at indtaste en korrekt værdi:

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

Og lad os nu prøve at indtaste en ukorrekt værdi:

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

I klassen Employee skal du i setteren for alder tilføje en kontrol for, at alderen skal være fra 0 til 120.

I klassen Employee skal du i getteren for løn gøre sådan, at når lønnen læses, tilføjes et dollartegn til slutningen af dens værdi.

Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis