PHP ရှိ OOP တွင် ကာကွယ်ထားသော ဂုဏ်သတ္တိများ

PHP သည် ကာကွယ်ထားသော ဂုဏ်သတ္တိများကိုလည်း ပံ့ပိုးပေးသည်။ ၄င်းတို့ကို ပြုပြင်မွမ်းမံမှု protected ဖြင့်လည်း ကြေညာသည်။ ထိုကဲ့သို့သော ဂုဏ်သတ္တိများကို အမွေဆက်ခံပြီး သားစဉ်မြေးဆက် classes များတွင် ရယူနိုင်သည်။

ကာကွယ်ထားသော ဂုဏ်သတ္တိတစ်ခုပါရှိသည့် မိဘ class တစ်ခုကို ဖန်တီးကြပါစို့၊ အသက်ကို ထည့်သွင်းထားသည်:

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

သားစဉ်မြေးဆက် class တွင် အသက်ကို တစ်ခုတိုးပေးသော method တစ်ခုကို ဖန်တီးပါ:

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

အောက်ပါ code ကို ကာကွယ်ထားသော ဂုဏ်သတ္တိဖြင့် ပြန်ရေးပါ:

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