PHP හි OOP හි ආරක්ෂිත ක්‍රම

PHP, protected නියමය භාවිතයෙන් ආරක්ෂිත ක්‍රම සඳහා සහය දක්වයි. එවැනි ක්‍රම උරුම වේ, නමුත් පන්තියෙන් පිටතින් පෙනෙන්නේ නැත.

අපි බලමු මෙය ක්‍රියා කරන ආකාරය. ආරක්ෂිත ක්‍රමයක් සහිත මූල පන්තියක් ලියමු:

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

අපි මෙම ආරක්ෂිත ක්‍රමය භාවිතා කරමු උප පන්තියක:

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

පහත කේතයේ, උපකාරී ක්‍රමය ආරක්ෂිත කරන්න:

php<?php
  class User {
    public function setName($name) {
      if ($this->notEmpty($name)) {
        $this->name = $name;
      }
    }
    public function getName() {
      return $this->name;
    }
    
    public function notEmpty($str) {
      return strlen($str) > 0;
    }
  }
  class Employee extends User {
    public function setSurn($surn) {
      if ($this->notEmpty($surn)) {
        $this->surn = $surn;
      }
    }
    public function getSurn() {
      return $this->surn;
    }
  }
?>