Getters pentru proprietăți în OOP în PHP

Să presupunem că avem următoarea clasă cu proprietăți private:

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

După cum vedeți, aceste proprietăți sunt setate o singură dată la crearea obiectului. În momentul de față, însă, aceste proprietăți nu pot fi citite, deoarece sunt private și nu există metode corespunzătoare pentru aceasta.

Să creăm pentru proprietățile noastre metode speciale care permit citirea acestor proprietăți. Asemenea metode (numite getters) de obicei încep cu cuvântul get, urmat de numele proprietății care se citește.

Să creăm getters pentru proprietățile noastre:

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

Să verificăm funcționarea lor. Să creăm un obiect, transmitând ca parametru datele utilizatorului:

php<?php
  $user = new User('john', 'smit');
?>

Să citim aceste date, folosind getters:

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

În clasa Employee creați trei proprietăți private: nume, salariu și vârstă.

Задание 2

Transmiteți prin constructor valorile acestor proprietăți.

Задание 3

Creați getters care afișează valorile fiecăreia dintre proprietățile noastre.