PHP da OOP da Meros Olishda Privat Xususiyatlar
Privat xususiyatlar meros olinmaydi. Ammo voris ular bilan ota-onaning ommaviy usullari orqali manipulyatsiya qilishi mumkin. Keling, amalda ko'rib chiqaylik. Aytaylik, bizda quyidagi ota-ona sinfi mavjud privat xususiyat va uning getter va setter bilan:
<?php
class User {
private $name;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
?>
Aytaylik, ota-onadan quyidagi voris meros qoladi:
<?php
class Student extends User {
}
?>
Keling, vorisning ob'ektini yaratamiz:
<?php
$student = new Student;
?>
Keling, uning privat xususiyatini yozish uchun ota-onaning usulidan foydalanamiz:
<?php
$student->setName('john');
?>
Keling, uning privat xususiyatini o'qish uchun ota-onaning usulidan foydalanamiz:
<?php
$name = $student->getName();
echo $name;
?>
Quyidagi ota-ona sinfi berilgan:
<?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 sinfini yarating,
bu ota-onadan meros oladi.
Employee sinfining ob'ektini yarating
va meros qilib olingan
setter va getter larni chaqiring.
Employee sinfida quyidagi usulni bajaring:
<?php
public function getFull() {
return $this->name . ' ' . $this->surn;
}
?>
Usul kodining xatolikka olib kelishiga ishonch hosil qiling.