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