Конструктор при наследовању у ООП у 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

Направите гетере за године и плату.