Усули хусусӣ дар меросии ООП дар 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 кӯшиш кунед аз усули хусусии
волидайн истифода баред.