Privátne vlastnosti v OOP v PHP

Vlastnosti objektu, ktoré je možné čítať a zapisovať zvonku, sa nazývajú verejné. Existujú aj privátne vlastnosti, ktoré budú prístupné len vnútri triedy.

Názvy privátnych vlastností je potrebné deklarovať s modifikátorom prístupu private. Urobme to:

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

Teraz zapíšme dáta do našej vlastnosti. To je možné urobiť napríklad v konštruktore triedy:

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

Urobme teraz metódu, ktorá bude vracať hodnotu našej vlastnosti:

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

Vytvorme objekt triedy, odovzdaním mena používateľa ako parameter:

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

Pokus o priamy prístup k našej vlastnosti mimo triedy spôsobí chybu:

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

A volanie našej metódy umožní prečítať túto vlastnosť:

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

V triede Employee vytvorte tri privátne vlastnosti: meno, plat a vek.

Задание 2

Odovzdajte parametrom konštruktora hodnoty týchto vlastností.

Задание 3

Vytvorte metódu, ktorá vypíše údaje zamestnanca.