Proprietăți protejate în OOP în PHP

PHP suportă și proprietăți protejate. Acestea sunt declarate și ele cu modificatorul protected. Astfel de proprietăți sunt moștenite și accesibile în clasele descendente.

Să facem o clasă părinte cu o proprietate protejată care conține vârsta:

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

În clasa descendentă să facem o metodă, care mărește vârsta cu unu:

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

Rescrieți următorul cod folosind o proprietate protejată:

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