Getters de propriedades em POO em PHP

Suponha que temos a seguinte classe com propriedades privadas:

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

Como você pode ver, essas propriedades são definidas uma vez na criação do objeto. No entanto, atualmente, é impossível ler essas propriedades, pois elas são privadas e não existem métodos correspondentes para isso.

Vamos criar métodos especiais para nossas propriedades, permitindo a leitura dessas propriedades. Esses métodos (chamados de getters) geralmente começam com a palavra get, seguida pelo nome da propriedade a ser lida.

Vamos criar os getters para nossas propriedades:

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

Vamos testar seu funcionamento. Criaremos um objeto, passando os dados do usuário como parâmetro:

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

Vamos ler esses dados, utilizando os getters:

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

Na classe Employee, crie três propriedades privadas: nome, salário e idade.

Задание 2

Passe os valores dessas propriedades como parâmetro do construtor.

Задание 3

Crie getters que exibam os valores de cada uma de nossas propriedades.