⊗ppOpBsGSA 14 of 107 menu

Πλεονεκτήματα των setters και getters στην ΑΟΠ στην PHP

Στο προηγούμενο μάθημα, δημιουργήσαμε για κάθε ιδιότητα ένα getter και ένα setter. Μπορεί να προκύψει το ερώτημα, γιατί χρειάζονται τέτοιες πολυπλοκότητες, αφού ουσιαστικά το ίδιο αποτέλεσμα μπορεί να επιτευχθεί εάν κάνουμε τις ιδιότητες δημόσιες, και όχι ιδιωτικές.

Το ζήτημα είναι ότι οι getters και οι setters έχουν πλεονέκτημα: πριν από την πρόσβαση σε μια ιδιότητα μπορούν να εκτελεστούν ορισμένοι έλεγχοι. Για παράδειγμα, στην περίπτωσή μας, κατά την εγγραφή του ονόματος και του επωνύμου μπορούμε να ελέγξουμε ότι η νέα τιμή δεν είναι κενή συμβολοσειρά:

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

Ας ελέγξουμε πώς λειτουργεί αυτό. Πρώτα, ας δημιουργήσουμε ένα αντικείμενο της κλάσης:

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

Τώρα ας προσπαθήσουμε να γράψουμε μια σωστή τιμή:

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

Και τώρα ας προσπαθήσουμε να γράψουμε μια μη σωστή:

<?php $user->setName(''); // σφάλμα ?>

Στην κλάση Employee στον setter της ηλικίας κάντε έναν έλεγχο ότι η ηλικία πρέπει να είναι από 0 έως 120.

Στην κλάση Employee στον getter του μισθού, κάντε έτσι ώστε κατά την ανάγνωση του μισθού στο τέλος της τιμής του να προστίθεται το σύμβολο του δολαρίου.

Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη