Частни свойства в ООП в PHP

Свойствата на обект, които могат да бъдат четени и записвани отвън, се наричат публични. Съществуват и частни свойства, които ще бъдат достъпни само вътре в класа.

Имената на частните свойства трябва да се декларират с модификатор за достъп private. Нека направим това:

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

Сега ще запишем данни в нашето свойство. Това може да се направи, например, в конструктора на класа:

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

Сега ще направим метод, който ще връща стойността на нашето свойство:

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

Ще създадем обект от класа, като подадем като параметър име на потребителя:

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

Опит за пряко достъпване към нашето свойство извън класа ще доведе до грешка:

php<?php
  echo $user->name; // грешка
?>

А извикването на нашия метод ще позволи прочитането на това свойство:

php<?php
  echo $user->show(); // ще изведе 'john'
?>
Задание 1

В класа Employee направете три частни свойства: име, заплата и възраст.

Задание 2

Подайте като параметър на конструктора стойностите на тези свойства.

Задание 3

Направете метод, който ще изведе данните за служителя.