Getters Ιδιοτήτων στην Αντικειμενοστρεφή Προγραμματισμό στην PHP

Ας υποθέσουμε ότι έχουμε την ακόλουθη κλάση με ιδιωτικές ιδιότητες:

php<?php
  class User {
    private $name;
    private $surn;
    
    public function __construct($name, $surn) {
      $this->name = $name;
      $this->surn = $surn;
    }
  }
?>

Όπως βλέπετε, αυτές οι ιδιότητες ορίζονται μία φορά κατά τη δημιουργία του αντικειμένου. Ωστόσο, τώρα, αυτές οι ιδιότητες είναι αδύνατο να διαβαστούν, καθώς είναι ιδιωτικές και δεν υπάρχουν οι αντίστοιχες μέθοδοι για αυτό.

Ας δημιουργήσουμε για τις ιδιότητες μας ειδικές μεθόδους που επιτρέπουν την ανάγνωση αυτών των ιδιοτήτων. Τέτοιες μέθοδοι (οι οποίες ονομάζονται getters) συνήθως ξεκινούν με τη λέξη get, και ακολουθεί το όνομα της ιδιότητας που διαβάζεται.

Ας δημιουργήσουμε getters για τις ιδιότητες μας:

php<?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<?php
  $user = new User('john', 'smit');
?>

Ας διαβάσουμε αυτά τα δεδομένα, χρησιμοποιώντας τους getters:

php<?php
  var_dump($user->getName());
  var_dump($user->getSurn());
?>
Задание 1

Στην κλάση Employee δημιουργήστε τρεις ιδιωτικές ιδιότητες: όνομα, μισθό και ηλικία.

Задание 2

Περάστε ως παράμετρο του κατασκευαστή τις τιμές αυτών των ιδιοτήτων.

Задание 3

Δημιουργήστε getters, που να εμφανίζουν τις τιμές καθεμιάς από τις ιδιότητες μας.