Metode Private dalam OOP di PHP
Tidak hanya properti yang bisa menjadi private, metode juga bisa. Biasanya metode private digunakan untuk metode pembantu agar tidak sengaja dipanggil dari luar kelas.
Mari kita lihat contohnya. Misalkan kita memiliki kelas berikut:
<?php
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function show() {
return $this->name;
}
}
?>
Mari kita buat metode private dalam kelas ini, yang akan menerima string sebagai parameter dan mengubah karakter pertamanya menjadi huruf kapital:
<?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 kita gunakan metode pembantu kita di dalam metode 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. Buatlah objek dari kelas kita:
<?php
$user = new User('john');
?>
Panggil metode public, yang menggunakan metode pembantu:
<?php
echo $user->show();
?>
Dalam kode berikut, buat metode pembantu menjadi private:
<?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 . '
;
}
}
?>