Усулҳои хусусӣ дар ООП дар PHP
На танҳо хосиятҳо, балки усулҳо низ метавонанд хусусӣ бошанд. Одатан усулҳои ёрирасонро хусусӣ мегардонанд, то ки онҳо тасодуфан аз берун аз синф даъват карда натавонанд.
Биёед дар мисол бубинем. Бигзор синфи зеринро дошта бошем:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Дар ин синф усули хусусӣ созем, ки параметр сатрро қабул мекунад ва аломати аввали онро калон мекунад:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
private function cape($str) {
return mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1);
}
}
?>
Аз усули ёрирасони худ дар дохили усули дигар истифода барем:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->cape($this->name);
}
private function cape($str) {
return mb_strtoupper(mb_substr($str, 0, 1)) . mb_substr($str, 1);
}
}
?>
Биёед санҷем. Объекти синфи худро созем:
<?php
$user = new User('john');
?>
Усули оммавиеро, ки аз усули ёрирасон истифода мебарад, даъват кунем:
<?php
echo $user->show();
?>
Дар коди зерин усули ёрирасони худро хусусӣ кунед:
<?php
class Employee {
public function __construct($name, $salary) {
$this->name = $name;
$this->salary = $salary;
}
public function getSalary() {
return $this->addSign($this->salary);
}
public function addSign($num) {
return $num . '
;
}
}
?>