Gettery właściwości w OOP w PHP

Załóżmy, że mamy następującą klasę z prywatnymi właściwościami:

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

Jak widzisz, te właściwości są ustawiane raz podczas tworzenia obiektu. Obecnie jednak nie można odczytać tych właściwości, ponieważ są one prywatne i nie ma odpowiednich metod do tego.

Stwórzmy dla naszych właściwości specjalne metody umożliwiające odczyt tych właściwości. Takie metody (nazywane getterami) zwykle zaczynają się od słowa get, a następnie następuje nazwa odczytywanej właściwości.

Stwórzmy gettery dla naszych właściwości:

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

Sprawdźmy ich działanie. Stwórzmy obiekt, przekazując parametrem dane użytkownika:

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

Odczytajmy te dane, korzystając z getterów:

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

W klasie Employee utwórz trzy prywatne właściwości: imię, wynagrodzenie i wiek.

Задание 2

Przekaż parametrem konstruktora wartości tych właściwości.

Задание 3

Utwórz gettery, wyprowadzające wartości każdej z naszych właściwości.