PHP-де ООП-те мұрагерлік кезіндегі конструктор

Мұрагерлік кезінде ата-ананың конструкторын қайта анықтауға болады. Мысал арқылы қарастырайық. Бізде келесі ата-ана сыныбы бар делік:

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

Ата-ана сыныбынан келесі сынып мұра етейік:

php<?php
  class Student extends User {
    
  }
?>

Мұрагер сыныбында конструкторды қосымша параметрлер қосу арқылы кеңейткіміз келеді делік:

php<?php
  class Student extends User {
    private $year;
    
    public function __construct($name, $surn, $year) {
      
    }
  }
?>

Бұл жағдайда біз бірінші жолда ата-ананың конструкторын parent::__construct() арқылы міндетті түрде шақыруымыз керек:

php<?php
  class Student extends User {
    private $year;
    
    public function __construct($name, $surn, $year) {
      parent::__construct($name, $surn);
    }
  }
?>

parent::__construct() командасы мәні бойынша ата-ананың конструкторы болып табылады. Сондықтан оған қажетті параметрлерді берейік:

php<?php
  class Student extends User {
    private $year;
    
    public function __construct($name, $surn, $year) {
      parent::__construct($name, $surn);
    }
  }
?>

Енді мұрагерде оқу жылын мұрагердің өз қасиетіне жазайық:

php<?php
  class Student extends User {
    private $year;
    
    public function __construct($name, $surn, $year) {
      parent::__construct($name, $surn);
      $this->year = $year;
    }
  }
?>

Оқу жылы үшін геттер жасайық:

php<?php
  class Student extends User {
    private $year;
    
    public function __construct($name, $surn, $year) {
      parent::__construct($name, $surn);
      $this->year = $year;
    }
    
    public function getYear() {
      return $this->year;
    }
  }
?>
Задание 1

Employee сыныбы осы сабақтағы User сыныбынан мұра етейік.

Задание 2

Employee сыныбында ата-ананың конструкторын жасы мен жалақы параметрлерін қосу арқылы қайта анықтаңыз.

Задание 3

Жасы мен жалақы үшін геттерлер жасаңыз.