PHP да ООП да мерос олишда хусусий хоссалар
Хусусий хоссалар мерос олинмайди. Аммо авлод улар билан ота-онанинг оммавий усуллари орқали ишлаши мумкин. Келинг, амалда кўрамиз. Фарз қилайлик, бизда куйидаги ота-она синфи хусусий хосса ва унинг геттер ва сеттери билан мавжуд:
<?php
class User {
private $name;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
?>
Фарз қилайлик, ота-онадан куйидаги авлод мерос олади:
<?php
class Student extends User {
}
?>
Келинг, авлод объектини яратамиз:
<?php
$student = new Student;
?>
Унинг хусусий хоссасига ёзиш учун ота-онанинг усулидан фойдаланамиз:
<?php
$student->setName('john');
?>
Унинг хусусий хоссасини ўқиш учун ота-онанинг усулидан фойдаланамиз:
<?php
$name = $student->getName();
echo $name;
?>
Куйидаги ота-она синфи берилган:
<?php
class User {
private $name;
private $surn;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
public function setSurn($surn) {
$this->surn = $surn;
}
public function getSurn() {
return $this->surn;
}
}
?>
Employee синфини яратинг,
у шу ота-онадан мерос олади.
Employee синфининг объектини яратинг
ва мерос олинган сеттер ва геттерларни чақиринг.
Employee синфида куйидаги усулни бажаринг:
<?php
public function getFull() {
return $this->name . ' ' . $this->surn;
}
?>
Усул коди хатога сабаб бўлишига ишонч ҳосил қилинг.