Хусусиятҳои хусусӣ дар ООП дар PHP

Хусусиятҳои объект, ки аз берун хондан ва навиштан мумкин аст, оммавӣ номида мешаванд. Инчунин хусусиятҳои хусусӣ мавҷуданд, ки танҳо дар дохили сinf дар дастрас хоҳанд буд.

Барои эълон кардани номҳои хусусиятҳои хусусӣ бояд аз модификатори дастрасии 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

Усуле созед, ки маълумоти кормандро чоп кунад.