Kaedah Terlindung dalam OOP dalam PHP
PHP menyokong kaedah terlindung
menggunakan pengubah protected.
Kaedah sedemikian diwarisi, tetapi tidak kelihatan
dari luar kelas.
Mari kita lihat bagaimana ini berfungsi. Tulis kelas induk dengan kaedah terlindung:
<?php
class User {
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->capeFirst($this->name);
}
protected function capeFirst($str) {
return ucfirst($str);
}
}
?>
Gunakan kaedah terlindung ini dalam kelas anak:
<?php
class Student extends User {
public function setSurn($surn) {
$this->surn = $surn;
}
public function getSurn() {
return $this->capeFirst($this->surn);
}
}
?>
Dalam kod berikut, jadikan kaedah pembantu terlindung:
<?php
class User {
public function setName($name) {
if ($this->notEmpty($name)) {
$this->name = $name;
}
}
public function getName() {
return $this->name;
}
public function notEmpty($str) {
return strlen($str) > 0;
}
}
class Employee extends User {
public function setSurn($surn) {
if ($this->notEmpty($surn)) {
$this->surn = $surn;
}
}
public function getSurn() {
return $this->surn;
}
}
?>