Savybių geteriai OOP PHP

Tarkime, kad turime šią klasę su privačiomis savybėmis:

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

Kaip matote, šios savybės nustatomos vieną kartą kuriant objektą. Tačiau dabar šių savybių neįmanoma perskaityti, nes jos yra privatios ir nėra atitinkamų metodų tam.

Sukurkime savo savybėms specialius metodus, leidžiančius perskaityti šias savybes. Tokie metodai (jie vadinami geteriais) paprastai prasideda žodžiu get, o po to seka skaitomos savybės pavadinimas.

Sukurkime mūsų savybių geterius:

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

Patikrinkime jų veikimą. Sukurkime objektą, parametru perduodant vartotojo duomenis:

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

Perskaitykime šiuos duomenis, pasinaudoję geteriais:

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

Klasėje Employee sukurkite tris privačias savybes: vardą, atlyginimą ir amžių.

Задание 2

Konstruktoriui per parametrus perduokite šių savybių reikšmes.

Задание 3

Sukurkite geterius, kurie grąžina kiekvienos iš mūsų savybių reikšmes.