Privát tulajdonságok az OOP-ban PHP-ben

Az objektum azon tulajdonságait, amelyek kívülről olvashatók és írhatók, nyilvánosnak nevezzük. Léteznek privát tulajdonságok is, amelyek csak az osztályon belül lesznek elérhetők.

A privát tulajdonságok neveit a private hozzáférési módosítóval kell deklarálni. Tegyük ezt meg:

php<?php
  class User {
    private $name;
  }
?>

Most írjunk adatokat a tulajdonságunkba. Ez megtehető például az osztály konstruktorában:

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

Készítsünk most egy metódust, amely visszaadja a tulajdonságunk értékét:

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

Hozzuk létre az osztály objektumát, átadva paraméterként a felhasználó nevét:

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

Ha megpróbálunk közvetlenül hivatkozni a tulajdonságunkra az osztályon kívül, az hibához vezet:

php<?php
  echo $user->name; // hiba
?>

A metódusunk meghívása viszont lehetővé teszi a tulajdonság olvasását:

php<?php
  echo $user->show(); // kiírja 'john'-t
?>
Задание 1

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

Задание 2

Adja át a konstruktor paramétereként ezen tulajdonságok értékeit.

Задание 3

Készítsen egy metódust, amely kiírja a munkavállaló adatait.