0 امتیاز
قبل در برنامه نویسی توسط (922 امتیاز)

access specifier های protected و  package access از نظر دسترسی سایر کلاس ها به متدها و property ها آن کلاس، چه تفاوتی با یکدیگر دارند؟

1 پاسخ

+2 امتیاز
قبل توسط (1.1هزار امتیاز)
ویرایش شده قبل توسط
 
بهترین پاسخ

کلاس، متد یا فیلدی که protected است هم توسط کلاس هایی که در همان package قرار دارند قابل دسترسی است و هم توسط subclass هایی که در سایر package ها قرار دارند اما کلاس، متد یا فیلدی که package access است فقط توسط کلاس هایی که در همان package قرار دارند قابل دسترسی است و subclass هایی که در سایر package ها قرار دارند نمی توانند به آن دسترسی داشته باشند.

به زبان ساده تر برای دسترسی به یک کلاس، متد یا فیلد package access در یک package بودن تنها شرط است ولی برای دسترسی به یک کلاس، متد یا فیلد protected فرزند بودن (subclass) یا در یک package بودن شرط است، در حقیقت package access دسترسی محدودتری است (به نسبت protected):

Other packages Subclass Same Package Same Class Access Modifiers
N Y Y Y protected
N N Y Y package access

 

سوالات مشابه

0 امتیاز
1 پاسخ 393 بازدید
0 امتیاز
1 پاسخ 682 بازدید
+1 امتیاز
1 پاسخ 463 بازدید
0 امتیاز
1 پاسخ 457 بازدید
0 امتیاز
1 پاسخ 694 بازدید
+1 امتیاز
1 پاسخ 689 بازدید
0 امتیاز
1 پاسخ 2.0هزار بازدید
...