Métodos privados na herança em POO em PHP

Métodos privados não são herdados. Isso é feito intencionalmente para não violar o encapsulamento. Vamos ver um exemplo. Suponha que temos a seguinte classe pai com um método privado:

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

Suponha que a seguinte classe herda da classe pai:

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

Suponha que a classe filha queira usar o método privado do pai. O PHP não permitirá isso e retornará um erro:

php<?php
  class Student extends User {
    private $surn;
    
    public function setSurn($surn) {
      $this->surn = $surn;
    }
    public function getSurn() {
      return $this->capeFirst($this->surn); // retornará erro
    }
  }
?>
Задание 1

Tente na classe Employee usar o método privado do pai.