Apsaugotos savybės OOP PHP

PHP taip pat palaiko apsaugotas savybes. Jos taip pat deklaruojamos naudojant modifikatorių protected. Tokios savybės yra paveldimos ir prieinamos paveldimuose klasėse.

Sukurkime pagrindinę klasę su apsaugota savybe, kurioje yra amžius:

php<?php
  class User {
    protected $age;
    
    public function setAge($age) {
      $this->age = $age;
    }
    public function getAge() {
      return $this->age;
    }
  }
?>

Paveldimoje klasėje sukurkime metodą, padidinantį amžių vienetu:

php<?php
  class Student extends User {
    public function incAge() {
      $this->age++;
    }
  }
?>
Задание 1

Perrašykite šį kodą naudodami apsaugotą savybę:

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