Atribuutide getterid OOP-s PHP-s

Oletame, et meil on järgmine klass privaatsete atribuutidega:

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

Nagu näete, need atribuudid määratakse üks kord objekti loomisel. Praegu aga neid atribuute pole võimalik lugeda, kuna need on privaatsed ja puuduvad vastavad meetodid selleks.

Teeme oma atribuutide jaoks spetsiaalsed meetodid, mis võimaldavad neid atribuute lugeda. Selliseid meetodeid (mida nimetatakse getteriteks) tavaliselt algavad sõnaga get, millele järgneb loetava atribuudi nimi.

Teeme oma atribuutide getterid:

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

Kontrollime nende toimimist. Loome objekti, parameetritena andes edasi kasutaja andmed:

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

Loeme need andmed, kasutades gettereid:

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

Klassis Employee tehke kolm privaatset atribuuti: nimi, palk ja vanus.

Задание 2

Edastage konstruktori parameetritena nende atribuutide väärtused.

Задание 3

Tehke getterid, mis väljastavad iga meie atribuudi väärtused.