Getters Ιδιοτήτων στην Αντικειμενοστρεφή Προγραμματισμό στην PHP
Ας υποθέσουμε ότι έχουμε την ακόλουθη κλάση με ιδιωτικές ιδιότητες:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
}
?>
Όπως βλέπετε, αυτές οι ιδιότητες ορίζονται μία φορά κατά τη δημιουργία του αντικειμένου. Ωστόσο, τώρα, αυτές οι ιδιότητες είναι αδύνατο να διαβαστούν, καθώς είναι ιδιωτικές και δεν υπάρχουν οι αντίστοιχες μέθοδοι για αυτό.
Ας δημιουργήσουμε για τις ιδιότητες μας ειδικές
μεθόδους που επιτρέπουν την ανάγνωση αυτών των ιδιοτήτων.
Τέτοιες μέθοδοι (οι οποίες ονομάζονται getters) συνήθως
ξεκινούν με τη λέξη get, και ακολουθεί
το όνομα της ιδιότητας που διαβάζεται.
Ας δημιουργήσουμε getters για τις ιδιότητες μας:
<?php
class User {
private $name;
private $surn;
public function __construct($name, $surn) {
$this->name = $name;
$this->surn = $surn;
}
public function getName() {
return $this->name;
}
public function getSurn() {
return $this->surn;
}
}
?>
Ας ελέγξουμε τη λειτουργία τους. Ας δημιουργήσουμε ένα αντικείμενο, περνώντας ως παράμετρο τα δεδομένα του χρήστη:
<?php
$user = new User('john', 'smit');
?>
Ας διαβάσουμε αυτά τα δεδομένα, χρησιμοποιώντας τους getters:
<?php
var_dump($user->getName());
var_dump($user->getSurn());
?>
Στην κλάση Employee δημιουργήστε
τρεις ιδιωτικές ιδιότητες: όνομα, μισθό
και ηλικία.
Περάστε ως παράμετρο του κατασκευαστή τις τιμές αυτών των ιδιοτήτων.
Δημιουργήστε getters, που να εμφανίζουν τις τιμές καθεμιάς από τις ιδιότητες μας.