PHP-de OOP-da ata-klaslaryň usullaryny täzeden kesgitlemek

Miras alyjy klas, şol bir atly usul döredip, ata-klasyň usulyny täzeden kesgitlep biler. Mysala serediň. Aşakdaky ata-klasymyz bar diýeliň:

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

Geliň miras alyjy klasda şol bir atly usul dörediň:

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

Esasan, ata-klasyň usulyny täzeden kesgitlemek, usulyň hereketini üýtgetmek ýa-da goşmaça doldurmak üçin zerurdyr. Bizde bolsa, adyň uzynlygyny barlagyny goşalyň:

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

Çakylyşda takyk täzeden kesgitlenen usulyň çagyrylandygyna göz ýetireliň. Ilki bilen, miras alyjy klasyň objektiň dörediň:

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

Indi usuly çagyryň we ona dogry baha beriň:

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

Indi bolsa, usuly nädogry baha bilen çagyryň. Netijede, ýüze çykan ýalňyşlygy göreris:

php<?php
  $student->setName(''); // ýalňyşlyk
?>
Задание 1

User klasynda ýaş üçin getter we setter ýasaň.

Задание 2

Employee klasynda ýaş setterini täzeden kesgitleň we onuň içinde ýaşyň 18-den 65 ýaşa çenli bolýandygyny barlaň.