Προστατευμένες Μέθοδοι στην ΑΝΠ στην PHP

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