Phương thức được bảo vệ trong OOP trong PHP
PHP hỗ trợ các phương thức được bảo vệ
bằng cách sử dụng bổ ngữ protected.
Các phương thức như vậy được kế thừa, nhưng không thể nhìn thấy
từ bên ngoài lớp.
Hãy xem cách nó hoạt động. Chúng ta hãy viết một lớp cha với một phương thức được bảo vệ:
<?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);
}
}
?>
Hãy sử dụng phương thức được bảo vệ này trong một lớp con:
<?php
class Student extends User {
public function setSurn($surn) {
$this->surn = $surn;
}
public function getSurn() {
return $this->capeFirst($this->surn);
}
}
?>
Trong đoạn mã sau, hãy làm cho phương thức trợ giúp trở thành được bảo vệ:
<?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;
}
}
?>