PHP-де ООП-де ата-ана класының әдістерін қайта анықтау

Кіші класс ата-ана класының әдісін сол атпен әдіс жасау арқылы қайта анықтай алады. Мысалға қарайық. Бізде келесі ата-ана класы бар делік:

php<?php
  class User {
    private $name;
    
    public function setName($name) {
      $this->name = $name;
    }
    public function getName() {
      return $this->name;
    }
  }
?>

Кіші класта сол атпен әдіс жасайық:

php<?php
  class Student extends User {
    public function setName($name) {
      
    }
  }
?>

Әдетте, ата-ана әдісін қайта анықтау сол әдістің мінез-құлқын өзгерту немесе толықтыру үшін қажет. Біздің жағдайда атың ұзындығын тексеруді қосайық:

php<?php
  class Student extends User {
    public function setName($name) {
      if (strlen($name) > 0) {
        $this->name = $name;
      } else {
        echo 'student name error';
      }
    }
  }
?>

Нақты қайта анықталған әдіс шақырылатынына көз жеткізейік. Алдымен кіші кластың нысанын жасайық:

php<?php
  $student = new Student;
?>

Енді әдісімізді шақырып, оған дұрыс мән берейік:

php<?php
  $student->setName('john');
?>

Енді әдісті шақырып, оған дұрыс емес мән берейік. Нәтижеде шығарылған ескертуді көреміз:

php<?php
  $student->setName(''); // қате
?>
Задание 1

User класында жас үшін геттер мен сеттер жасаңыз.

Задание 2

Employee класында жас сеттерін қайта анықтап, онда жас 18-ден 65 жасқа дейін екенін тексеріңіз.