PHP-те ООЖ-де мұрагерлік кезіндегі жеке әдістер
Жеке әдістер мұра етілмейді. Бұл инкапсуляцияны бұзбау үшін арнайы жасалған. Мысалға қарайық. Бізде келесі ата-ана класы жеке әдіспен болсын:
<?php
class User {
private $name;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->capeFirst($this->name);
}
private function capeFirst($str) {
return ucfirst($str);
}
}
?>
Ата-ана класынан келесі клас мұраға алсын:
<?php
class Student extends User {
private $surn;
public function setSurn($surn) {
$this->surn = $surn;
}
public function getSurn() {
return $this->surn;
}
}
?>
Мұрагер ата-ананың жеке әдісін пайдаланғысы келсін. PHP бұға рұқсат етпейді және қате шығарады:
<?php
class Student extends User {
private $surn;
public function setSurn($surn) {
$this->surn = $surn;
}
public function getSurn() {
return $this->capeFirst($this->surn); // қате болады
}
}
?>
Employee класында ата-ананың жеке әдісін
падаланбаға тырысыңыз.