Mbinu Binafsi katika Urithi katika OOP kwenye PHP
Mbinu binafsi hazirithiwi. Hii imefanywa kwa makusudi, ili kuzuia ukiukaji wa funguo. Hebu tuangalie kwa mfano. Tuchukulie tuna darasa la mzazi lifuatalo na mbinu ya kibinafsi:
<?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);
}
}
?>
Tuchukulie darasa lifuatalo linarithi kutoka kwa darasa la mzazi:
<?php
class Student extends User {
private $surn;
public function setSurn($surn) {
$this->surn = $surn;
}
public function getSurn() {
return $this->surn;
}
}
?>
Tuchukulie mzao anataka kutumia mbinu ya kibinafsi ya mzazi. PHP haitaruhusu hii na itatoa hitilafu:
<?php
class Student extends User {
private $surn;
public function setSurn($surn) {
$this->surn = $surn;
}
public function getSurn() {
return $this->capeFirst($this->surn); // kutakuwa na hitilafu
}
}
?>
Jaribu katika darasa Employee
kutumia mbinu ya kibinafsi
ya mzazi.