PHP-де ООП-де ата-ана класының әдістерін қайта анықтау
Кіші класс ата-ана класының әдісін сол атпен әдіс жасау арқылы қайта анықтай алады. Мысалға қарайық. Бізде келесі ата-ана класы бар делік:
<?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) {
}
}
?>
Әдетте, ата-ана әдісін қайта анықтау сол әдістің мінез-құлқын өзгерту немесе толықтыру үшін қажет. Біздің жағдайда атың ұзындығын тексеруді қосайық:
<?php
class Student extends User {
public function setName($name) {
if (strlen($name) > 0) {
$this->name = $name;
} else {
echo 'student name error';
}
}
}
?>
Нақты қайта анықталған әдіс шақырылатынына көз жеткізейік. Алдымен кіші кластың нысанын жасайық:
<?php
$student = new Student;
?>
Енді әдісімізді шақырып, оған дұрыс мән берейік:
<?php
$student->setName('john');
?>
Енді әдісті шақырып, оған дұрыс емес мән берейік. Нәтижеде шығарылған ескертуді көреміз:
<?php
$student->setName(''); // қате
?>
User класында
жас үшін геттер мен сеттер жасаңыз.
Employee класында
жас сеттерін қайта анықтап, онда
жас 18-ден 65 жасқа дейін екенін тексеріңіз.