Хусусиятҳои хусусӣ дар ООП дар PHP
Хусусиятҳои объект, ки аз берун хондан ва навиштан мумкин аст, оммавӣ номида мешаванд. Инчунин хусусиятҳои хусусӣ мавҷуданд, ки танҳо дар дохили сinf дар дастрас хоҳанд буд.
Барои эълон кардани номҳои хусусиятҳои хусусӣ
бояд аз модификатори дастрасии private истифода кард.
Биёед инро анҷом диҳем:
<?php
class User {
private $name;
}
?>
Ҳоло дороҳоро ба хусусияти мо нависем. Инро, масалан, дар конструктори синф анҷом додан мумкин аст:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
}
?>
Ҳоло усуле созем, ки арзиши хусусияти моро бармегардонад:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Объекти синфро созем, номи корбариро параметр супоридан:
<?php
$user = new User('john');
?>
Кӯшиши муроҷиати бевосита ба хусусияти мо берун аз синф ба хатогӣ меорад:
<?php
echo $user->name; // хатогӣ
?>
Ва фарохондани усули мо имкон медиҳад, ки ин хусусият хонда шавад:
<?php
echo $user->show(); // 'john'-ро чоп мекунад
?>
Дар синфи Employee се
хусусияти хусусӣ созед: ном, маош
ва синну сол.
Арзишҳои ин хусусиятҳоро параметри конструктор супоред.
Усуле созед, ки маълумоти кормандро чоп кунад.