Metodat e Mbrojtura në OOP në PHP

PHP mbështet metodat e mbrojtura duke përdorur modifikuesin protected. Metoda të tilla trashëgohen, por nuk janë të dukshme jashtë klasës.

Le të shohim se si funksionon kjo. Le të shkruajmë një klasë prind me një metodë të mbrojtur:

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

Le të përdorim këtë metodë të mbrojtur në një klasë të pasardhëse:

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

Në kodin vijues, bëni metodën ndihmëse të mbrojtur:

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