Хосиятҳои ҳифзшаванда дар ООП дар PHP

PHP низ хосиятҳои ҳифзшавандаро дастгирӣ мекунад. Онҳо низ бо истифода аз модификатори protected эълон карда мешаванд. Чунин хосиятҳо мерос гирифта мешаванд ва дар синфҳои фарзанд дастрасанд.

Биёед як синфи волидайн бо як хосияти ҳифзшаванда, ки синни фардро дар бар мегирад, эҷод кунем:

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

Дар синфи фарзанд методеро эҷод мекунем, ки синнро ба як воҳид зиёд мекунад:

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

Коди зеринро бо истифода аз хосияти ҳифзшаванда нависед:

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