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

Ходим ҳақида маълумотларни чиқарувчи метод яратинг.