Méthodes privées lors de l'héritage en POO en PHP

Les méthodes privées ne sont pas héritées. Ceci est fait intentionnellement pour ne pas violer l'encapsulation. Regardons un exemple. Supposons que nous ayons la classe parente suivante avec une méthode privée :

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

Supposons que la classe suivante hérite de la classe parente :

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

Supposons que la classe enfant veuille utiliser la méthode privée du parent. PHP ne le permettra pas et générera une erreur :

php<?php
  class Student extends User {
    private $surn;
    
    public function setSurn($surn) {
      $this->surn = $surn;
    }
    public function getSurn() {
      return $this->capeFirst($this->surn); // générera une erreur
    }
  }
?>
Задание 1

Essayez dans la classe Employee d'utiliser la méthode privée du parent.