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

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

Бізге ата-ана әдісіне қол жеткізу қажет болатын мысалды қарастырайық. Бізде келесі ата-ана сыныбы бар делік:

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) {
      if (strlen($name) > 0) {
        $this->name = $name;
      } else {
        echo 'student name error';
      }
    }
  }
?>

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

Ата-ана әдісін шақыру арқылы бұдан құтылуға болады. Мұны істейік:

php<?php
  class Student extends User {
    public function setName($name) {
      if (strlen($name) > 0) {
        parent::setName($name); // ата-ана әдісі
      } else {
        echo 'student name error';
      }
    }
  }
?>
Задание 1

Берілген код:

php<?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 сыныбында жас сеттерін қарапайымдаңыз, ата-ананың түпнұсқа әдісін пайдаланып.