PHP-də OOP-də Private xüsusiyyətlər

Obyektin xarici mühitdən oxuna və yazıla bilən xüsusiyyətləri public (açıq) adlanır. Həmçinin private (gizli) xüsusiyyətlər də mövcuddur, onlar yalnız klasın daxilində əlçatan olacaq.

Private xüsusiyyətlərin adları private dəyişdiricisi ilə bəyan edilməlidir. Gəlin bunu edək:

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

İndi isə xüsusiyyətimizə məlumat yazaq. Bu, məsələn, klasın konstruktorunda edilə bilər:

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

İndi isə xüsusiyyətimizin dəyərini qaytaracaq bir metod edək:

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

Gəlin klasın obyektini yaradaq, parametr olaraq istifadəçi adını ötürək:

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

Xüsusiyyətimizə birbaşa klasın xaricində müraciət etməyə cəhd səhvə səbəb olacaq:

php<?php
  echo $user->name; // səhv
?>

Metodumuzu çağırmaq isə bu xüsusiyyəti oxumağa imkan verəcək:

php<?php
  echo $user->show(); // 'john' çap edəcək
?>
Задание 1

Employee klasında üç private xüsusiyyət edin: ad, maaş və yaş.

Задание 2

Konstruktora parametr kimi bu xüsusiyyətlərin dəyərlərini ötürün.

Задание 3

İşçinin məlumatlarını çap edəcək bir metod edin.