Mbinu Binafsi katika OOP kwenye PHP
Si tu sifa tu zinazoweza kuwa binafsi, lakini pia mbinu. Kawaida mbinu za usaidizi hufanywa kuwa binafsi, ili zisitiezei kuitwa ngeni ya darasa.
Wacha tuangalie kwa mfano. Wacha tufikiri tuna darasa lifuatalo:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Wacha tufanye mbinu binafsi katika darasa hili, ambayo itachukua kigezo mstari na ufanye herufi kubwa ya kwanza ya mstari huo:
<?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);
}
}
?>
Wacha tutumie mbinu yetu ya usaidizi ndani ya mbinu nyingine:
<?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);
}
}
?>
Wacha tuangalie. Wacha tuunde kitu cha darasa letu:
<?php
$user = new User('john');
?>
Wacha tuite mbinu ya umma, inayotumia mbinu ya usaidizi:
<?php
echo $user->show();
?>
Katika msimbo ufuatao fanya mbinu ya usaidizi kuwa binafsi:
<?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 . '
;
}
}
?>