Тағйир додани усулҳои волидайн дар ООП дар 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 сол бошад.