عدم امکان محدودترکردن سطح دسترسی در child class،چرا؟

پرسیده شده
فعالیت 1106 روز پیش
دیده شده 329 بار
0

سلام و درود، وقتتون بخیر

ببخشید درمورد child class سوال داشتم که چرا اگر access modifier یک property رو داخل class پدر به صورت public تعریف کنیم، بعدا نمیتونیم وقتی داخل child class که براش مقدار جدید مشخص میکنیم، به صورت private یا protected قرارش بدیم؟؟

چون ما وقتی داریم مجدد تعریف میکنیم، یعنی کاری به اون اصلیه نداریم و مقدار رو از اون جدیده میخونیم، پس باید دستمون تو تعیین سطح دسترسی باز باشه در صورتیکه که نیست!

فایل پیوست

امیر ابوئی
امیر ابوئی

29 فروردین 00

5

مورد تایید استاد

حذف شده

سلام و احترام

class Base
{
    protected function foo() {}
}

class Derived extends Base
{
    public function foo() { return parent::foo(); }
}

توی مثال بالا همونطور که مشاهده میشه شما راحت میتونی تابع رو از protected توی کلاس فرزند به public تغییر بدید تا برعکس اما برای private شما اصلا دسترسی ندارید که بخواید تغییرش بدید اما میتونید یک پراپتری یا تابع هم نام private تعریف کنید

 

فایل پیوست

امیر صالحی

توسط

امیر صالحی

29 فروردین 00