Metode protejate în OOP în PHP
PHP suportă metode protejate
cu ajutorul modificatorului protected.
Astfel de metode sunt moștenite, dar nu sunt vizibile
din exteriorul clasei.
Să vedem cum funcționează acest lucru. Să scriem o clasă-părinte cu o metodă protejată:
<?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);
}
}
?>
Să utilizăm această metodă protejată într-o clasă-copil:
<?php
class Student extends User {
public function setSurn($surn) {
$this->surn = $surn;
}
public function getSurn() {
return $this->capeFirst($this->surn);
}
}
?>
În următorul cod faceți metoda auxiliară protejată:
<?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;
}
}
?>