Privátní vlastnosti v OOP v PHP

Vlastnosti objektu, které lze číst a zapisovat zvenčí, se nazývají veřejné. Existují také privátní vlastnosti, které budou přístupné pouze uvnitř třídy.

Názvy privátních vlastností je třeba deklarovat s modifikátorem přístupu private. Pojďme to udělat:

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

Nyní zapišme data do naší vlastnosti. To lze provést například v konstruktoru třídy:

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

Vytvořme nyní metodu, která bude vracet hodnotu naší vlastnosti:

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

Vytvořme objekt třídy, předáním jména uživatele jako parametr:

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

Pokus o přímý přístup k naší vlastnosti mimo třídu povede k chybě:

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

A volání naší metody umožní přečíst tuto vlastnost:

php<?php
  echo $user->show(); // vypíše 'john'
?>
Задание 1

Ve třídě Employee vytvořte tři privátní vlastnosti: jméno, plat a věk.

Задание 2

Předejte parametrem konstruktoru hodnoty těchto vlastností.

Задание 3

Vytvořte metodu, která vypíše údaje zaměstnance.