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
class User {
private $name;
}
?>
Nyní zapišme data do naší vlastnosti. To lze provést například v konstruktoru třídy:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
Vytvořme nyní metodu, která bude vracet hodnotu naší vlastnosti:
<?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
$user = new User('john');
?>
Pokus o přímý přístup k naší vlastnosti mimo třídu povede k chybě:
<?php
echo $user->name; // chyba
?>
A volání naší metody umožní přečíst tuto vlastnost:
<?php
echo $user->show(); // vypíše 'john'
?>
Ve třídě Employee vytvořte
tři privátní vlastnosti: jméno, plat
a věk.
Předejte parametrem konstruktoru hodnoty těchto vlastností.
Vytvořte metodu, která vypíše údaje zaměstnance.