Proprietăți private în OOP în PHP
Proprietățile obiectului care pot fi citite și scrise din exterior se numesc publice. Există și proprietăți private, care vor fi accesibile doar în interiorul clasei.
Numele proprietăților private trebuie
declarate cu modificatorul de acces private.
Să facem acest lucru:
<?php
class User {
private $name;
}
?>
Acum să scriem date în proprietatea noastră. Acest lucru se poate face, de exemplu, în constructorul clasei:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
Să facem acum o metodă care va returna valoarea proprietății noastre:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Să creăm un obiect al clasei, transmițând ca parametru numele utilizatorului:
<?php
$user = new User('john');
?>
Încercarea de a accesa direct proprietatea noastră în afara clasei va duce la o eroare:
<?php
echo $user->name; // eroare
?>
Iar apelul metodei noastre va permite citirea acestei proprietăți:
<?php
echo $user->show(); // va afișa 'john'
?>
În clasa Employee faceți
trei proprietăți private: nume, salariu
și vârstă.
Transmiteți prin constructor valorile acestor proprietăți.
Faceți o metodă care va afișa datele angajatului.