Tulajdonság getterek az OOP-ban PHP-ben

Tegyük fel, hogy a következő osztályunk van privát tulajdonságokkal:

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

Amint látod, ezek a tulajdonságok egyszer kerülnek beállításra az objektum létrehozásakor. Jelenleg azonban ezeket a tulajdonságokat nem lehet elolvasni, mivel privátak és nincsenek megfelelő metódusaik ehhez.

Készítsünk a tulajdonságainkhoz speciális metódusokat, amelyek lehetővé teszik ezen tulajdonságok elolvasását. Az ilyen metódusokat (amelyeket gettereknek hívnak) általában a get szóval kezdik, majd következik az olvasandó tulajdonság neve.

Készítsük el a tulajdonságaink gettereit:

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

Ellenőrizzük a működésüket. Hozzunk létre egy objektumot, paraméterként átadva a felhasználó adatait:

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

Olvassuk el ezeket az adatokat, felhasználva a gettereket:

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

A Employee osztályban készítsen három privát tulajdonságot: nevet, fizetést és életkort.

Задание 2

Adja át a konstruktor paraméterében ezen tulajdonságok értékeit.

Задание 3

Készítsen gettereket, amelyek kiírják minden egyes tulajdonságunk értékét.