PHPda OOPda Ota klass usullarini qayta belgilash

Vorıs klass ota klassning usulini xuddi shu nom bilan usul yaratish orqali qayta belgilashi mumkin. Keling, buni bir misol orqali ko'rib chiqaylik. Faraz qilaylik, bizda quyidagi ota klass mavjud:

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

Keling, vorıs klassda xuddi shu nomdagi usulni yaratamiz:

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

Odatda, ota usullarini qayta belgilash ushbu usulning xatti-harakatini o'zgartirish yoki to'ldirish uchun kerak bo'ladi. Keling, bizning holatda ism uzunligini tekshirish qo'shaylik:

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

Keling, chaqirilayotgani aniq qayta belgilangan usul ekanligiga ishonch hosil qilaylik. Boshdan, vorıs klassning ob'ektini yaratamiz:

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

Endi usulimizni chaqiramiz, unga to'g'ri qiymat uzatib:

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

Endi esa usulni chaqirib, unga noto'g'ri qiymat uzatamiz. Natijada chiqarilgan istisnoni ko'ramiz:

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

User klassida yosh uchun getter va setter yarating.

Задание 2

Employee klassida yosh setterini qayta belgilang va unga yosh 18 dan 65 yoshgacha ekanligini tekshirish qo'shing.