Getterji lastnosti v OOP v PHP

Recimo, da imamo naslednji razred z zasebnimi lastnostmi:

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

Kot lahko vidite, so te lastnosti nastavljene enkrat ob ustvarjanju objekta. Trenutno pa teh lastnosti ni mogoče prebrati, ker so zasebne in ni ustreznih metod za to.

Naredimo za naše lastnosti posebne metode, ki omogočajo branje teh lastnosti. Takšne metode (imenujemo jih getterji) običajno se začnejo z besedo get, čemur sledi ime lastnosti, ki se bere.

Naredimo getterje za naše lastnosti:

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

Preverimo njihovo delovanje. Ustvarimo objekt in mu kot parameter posredujmo podatke uporabnika:

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

Preberimo te podatke z uporabo getterjev:

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

V razredu Employee naredite tri zasebne lastnosti: ime, plačo in starost.

Задание 2

Preko konstruktorja posredujte vrednosti teh lastnosti.

Задание 3

Naredite getterje, ki izpišejo vrednosti vsake od naših lastnosti.