شبكة تعلم مع ناو

ما معنى protected في PHP؟

الكلمة protected تجعل الدالة أو الخاصية متاحة داخل الكلاس وفي أي كلاس يرثه، لكن ليس من خارجهما.

class Animal {
    protected function sound() {
        return "...";
    }
}

class Cat extends Animal {
    public function speak() {
        return $this->sound();  // allowed: Cat inherits from Animal
    }
}

$cat = new Cat();
echo $cat->speak();   // works
echo $cat->sound();   // Error: protected method

متى أستخدمها؟

عندما تكون الدالة تفصيلًا داخليًا، لكن تريد السماح للكلاسات الأبناء باستخدامها أو تعديل سلوكها.

الملخص

  • public: من كل مكان.
  • protected: الكلاس وأبناؤه.
  • private: الكلاس وحده.

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.