PHPде ООПде мурасчыда кайра аныкталган методу чакыруу
Кайра аныктоодо мурасчы ата-энесинин
кайра аныкталган методуна
кирүү мүмкүнчүлүгүн жоготот.
Бирок, ага кирүүгө болот.
Бул parent ачкыч сөзү
жардамы менен жасалат,
ал ата-эне классты көрсөтөт.
Ата-эне методуна качан муктаж болушубуз мүмкүн экенин мисал аркылы карап көрөлү. Бизде төмөнкүдөй ата-эне класcы бар дейли:
<?php
class User {
private $name;
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
?>
Мурасчы класста биз ата-эне методун кайра аныктадык дейли:
<?php
class Student extends User {
public function setName($name) {
if (strlen($name) > 0) {
$this->name = $name;
} else {
echo 'student name error';
}
}
}
?>
Кайра аныкталган методдо шарт аткарылганда негизде ата-эне методунун коду ишке ашырыларын байкоого болот. Коддун керексиз көчөттөлүшү пайда болот.
Эгер ата-эне методу чакырылса, бул көчөттөлүштөн кутулууга болот. Келгиле, муну жасайлы:
<?php
class Student extends User {
public function setName($name) {
if (strlen($name) > 0) {
parent::setName($name); // ата-эне методу
} else {
echo 'student name error';
}
}
}
?>
Төмөнкү код берилген:
<?php
class User {
private $age;
public function setAge($age) {
if ($age >= 0) {
$this->age = $age;
} else {
echo 'need age more 0';
}
}
}
class Employee extends User {
public function setAge($age) {
if ($age <= 120) {
if ($age >= 0) {
$this->age = $age;
} else {
echo 'need age more 0';
}
} else {
echo 'need age less 120';
}
}
}
?>
Employee класcында жашты
коюучу сеттерди жөнөктөп,
ата-энесинин оригиналдуу
методун колдонуңуз.