Mbinu Binafsi katika Urithi katika OOP kwenye PHP

Mbinu binafsi hazirithiwi. Hii imefanywa kwa makusudi, ili kuzuia ukiukaji wa funguo. Hebu tuangalie kwa mfano. Tuchukulie tuna darasa la mzazi lifuatalo na mbinu ya kibinafsi:

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

Tuchukulie darasa lifuatalo linarithi kutoka kwa darasa la mzazi:

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

Tuchukulie mzao anataka kutumia mbinu ya kibinafsi ya mzazi. PHP haitaruhusu hii na itatoa hitilafu:

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

Jaribu katika darasa Employee kutumia mbinu ya kibinafsi ya mzazi.