Propiedades privadas en la herencia de POO en PHP

Las propiedades privadas no se heredan. Pero la clase hija puede manipularlas a través de los métodos públicos del padre. Veámoslo en la práctica. Supongamos que tenemos la siguiente clase padre con una propiedad privada y su getter y setter:

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

Supongamos que de la clase padre hereda la siguiente clase hija:

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

Creemos un objeto de la clase hija:

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

Utilicemos el método del padre para escribir su propiedad privada:

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

Utilicemos el método del padre para leer su propiedad privada:

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

Tenemos la siguiente clase padre:

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;
    }
  }
?>

Crea la clase Employee, que herede de este padre.

Задание 2

Crea un objeto de la clase Employee y llama a los setters y getters heredados.

Задание 3

En la clase Employee haz el siguiente método:

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

Comprueba que el código del método lleva a un error.