Приватни својства во ООП во 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

Направете метод кој ќе ги прикаже податоците за работникот.