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<?php
  class User {
    private $name;
  }
?>

Acum să scriem date în proprietatea noastră. Acest lucru se poate face, de exemplu, în constructorul clasei:

php<?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<?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<?php
  $user = new User('john');
?>

Încercarea de a accesa direct proprietatea noastră în afara clasei va duce la o eroare:

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

Iar apelul metodei noastre va permite citirea acestei proprietăți:

php<?php
  echo $user->show(); // va afișa 'john'
?>
Задание 1

În clasa Employee faceți trei proprietăți private: nume, salariu și vârstă.

Задание 2

Transmiteți prin constructor valorile acestor proprietăți.

Задание 3

Faceți o metodă care va afișa datele angajatului.