Kaedah Persendirian dalam OOP dalam PHP
Bukan hanya sifat yang boleh menjadi persendirian, tetapi juga kaedah. Biasanya kaedah bantuan dijadikan persendirian supaya mereka tidak boleh dipanggil secara tidak sengaja dari luar kelas.
Mari kita lihat contoh. Katakan kita mempunyai kelas berikut:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Mari buat kaedah persendirian dalam kelas ini, yang akan menerima rentetan sebagai parameter dan menjadikan aksara pertamanya huruf besar:
<?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);
}
}
?>
Mari gunakan kaedah bantuan kami dalam kaedah lain:
<?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);
}
}
?>
Mari kita uji. Mari buat objek kelas kami:
<?php
$user = new User('john');
?>
Mari panggil kaedah awam, yang menggunakan kaedah bantuan:
<?php
echo $user->show();
?>
Dalam kod berikut, jadikan kaedah bantuan sebagai persendirian:
<?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 . '
;
}
}
?>