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

Да креираме објект од потомокот:

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

Да го искористиме методот на родителот, за да го запишеме неговото приватно својство:

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

Да го искористиме методот на родителот, за да го прочитаме неговото приватно својство:

php<?php
  $name = $student->getName();
  echo $name;
?>
Задание 1

Дадена е следнава родителска класа:

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

Направете класа Employee, која ќе наследува од овој родител.

Задание 2

Создајте објект од класата Employee и повикајте ги наследените сетери и гетери.

Задание 3

Во класата Employee направете следниов метод:

php<?php
  public function getFull() {
    return $this->name . ' ' . $this->surn;
  }
?>

Проверете дали кодот на методот ќе доведе до грешка.