PHP - Penempatan Semula
Penempatan semula adalah salah satu prinsip asas programming berorentas objek (OOP). Ia merujuk kepada penggabungan data dengan kaedah yang beroperasi pada data itu. Dalam PHP, penempatan semula dapat dicapai menggunakan kelas dan pengubahsuaian akses seperti awam, persendirian, dan terperlindung. Panduan ini akan menghidangkan anda melalui asas penempatan semula dalam PHP, bermula dengan ahli awam, kemudian ke ahli persendirian, dan akhirnya menyelami ahli terperlindung.
Ahli Awam
Ahli awam boleh diakses dari mana-mana, kedua-dua di dalam dan di luar kelas. Mereka diisytiharkan menggunakan kata kunci public
. Berikut adalah contoh kelas mudah dengan ahli awam:
class Car {
public $color;
public function setColor($color) {
$this->color = $color;
}
public function getColor() {
return $this->color;
}
}
$myCar = new Car();
$myCar->setColor("merah");
echo "Kereta saya adalah " . $myCar->getColor() . "."; // Output: Kereta saya adalah merah.
Dalam contoh ini, kita ada kelas Car
dengan properti awam $color
dan dua buah kaedah awam setColor()
dan getColor()
. Kita dapat mudah menetapkan dan mendapatkan warna kereta dari luar kelas.
Ahli Persendirian
Ahli persendirian hanya boleh diakses di dalam kelas yang ditakrifkan. Mereka diisytiharkan menggunakan kata kunci private
. Berikut adalah contoh kelas dengan ahli persendirian:
class BankAccount {
private $balance;
public function __construct($initialBalance) {
$this->balance = $initialBalance;
}
public function deposit($amount) {
if ($amount > 0) {
$this->balance += $amount;
}
}
public function getBalance() {
return $this->balance;
}
}
$myAccount = new BankAccount(100);
$myAccount->deposit(50);
echo "Baki akaun saya adalah " . $myAccount->getBalance() . "."; // Output: Baki akaun saya adalah 150.
Dalam contoh ini, kita ada kelas BankAccount
dengan properti persendirian $balance
dan dua buah kaedah awam deposit()
dan getBalance()
. Properti $balance
tidak boleh diakses secara langsung dari luar kelas, tetapi kita dapat mengubahnya menggunakan kaedah deposit()
dan mendapatkan nilaiannya menggunakan kaedah getBalance()
.
Ahli Terperlindung
Ahli terperlindung boleh diakses di dalam kelas yang ditakrifkan serta di dalam mana-mana kelas turunan. Mereka diisytiharkan menggunakan kata kunci protected
. Berikut adalah contoh kelas dengan ahli terperlindung:
class Animal {
protected $name;
public function __construct($name) {
$this->name = $name;
}
}
class Dog extends Animal {
public function bark() {
echo "Woof! Saya " . $this->name . ".";
}
}
$myDog = new Dog("Buddy");
$myDog->bark(); // Output: Woof! Saya Buddy.
Dalam contoh ini, kita ada kelas Animal
dengan properti terperlindung $name
. Kelas Dog
menggantikan kelas Animal
dan mempunyai akses ke properti $name
kerana ia terperlindung. Kita dapat menggunakan properti $name
di dalam kelas Dog
untuk melaksanakan kaedah bark()
.
Kesimpulan
Penempatan semula adalah konsep penting dalam OOP yang membantu untuk mengekalkan integriti data dengan menyekat akses langsung kepadanya. Dengan menggunakan pengubahsuaian akses seperti awam, persendirian, dan terperlindung, anda dapat mengawal bagaimana data anda diakses dan diubahsuai. Memahami penempatan semula akan membantu anda menulis kod yang lebih tekal dan mudah diuruskan dalam PHP dan bahasa OOP lain.
Credits: Image by storyset