PHP හි OOP උරුමකම ලබන විට පුද්ගලික ක්‍රම

පුද්ගලික ක්‍රම උරුමයෙන් ලබා නොගනී. මෙය අභ්‍යන්තරභාවය උල්ලංඝනය නොකිරීම සඳහා විශේෂයෙන් සකසා ඇත. අපි උදාහරණයක් බලමු. පහත දැක්වෙන ප්‍රාප්තික පන්තිය පුද්ගලික ක්‍රමයක් සමඟ ඇතැයි සිතමු:

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

ප්‍රාප්තික පන්තියෙන් පහත පන්තිය උරුමකම ලබයි යැයි සිතමු:

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

උපපන්තිය ප්‍රාප්තිකයාගේ පුද්ගලික ක්‍රමය භාවිතා කිරීමට අවශ්‍ය යැයි සිතමු. PHP මෙයට අවසර නොදෙන අතර දෝෂයක් ලබා දෙනු ඇත:

php<?php
  class Student extends User {
    private $surn;
    
    public function setSurn($surn) {
      $this->surn = $surn;
    }
    public function getSurn() {
      return $this->capeFirst($this->surn); // දෝෂයක් වනු ඇත
    }
  }
?>
Задание 1

Employee පන්තිය තුළ ප්‍රාප්තිකයාගේ පුද්ගලික ක්‍රමය භාවිතා කිරීමට උත්සාහ කරන්න.