Reham Numan نشر 5 يونيو 2021 أرسل تقرير مشاركة نشر 5 يونيو 2021 (معدل) ممكن رجاءا شرح لمحددات الوصول private,public....etc لانني لم أقدر على تمييز الفروقات بينهم بشكل جيد تم التعديل في 5 يونيو 2021 بواسطة عبود سمير تعديل العنوان اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 عبدالباسط ابراهيم نشر 5 يونيو 2021 أرسل تقرير مشاركة نشر 5 يونيو 2021 تقوم محددات الوصول بتحديد إمكانية الوصول للدوال أو خصائص الكائن والفرق بين المحددات كالتالي private يمكن الوصول لخصائص الكائن من داخل الكائن نفسه فقط كمثال class A{ private int data=40; private void msg(){System.out.println("Hello java");} } public class Simple{ public static void main(String args[]){ A obj=new A(); System.out.println(obj.data);//يتم توليد خطأ obj.msg();//يتم توليد خطأ } } Protected يمكن الوصول لخصائص الكائن سواء داخل ال package أو خارجها ولكن من خلال الكائنات التي ترث الكائن الأب Public يمكن الوصول لخصائص الكائن سواء داخل ال package أو خارجها من أي مكان في البرنامج Default وهي القيمة الإفتراضية في حالة لم تضع محدد وصول يمكن الوصول لخصائص الكائن داخل ال package فقط من أي مكان في البرنامج 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 سمير عبود نشر 5 يونيو 2021 أرسل تقرير مشاركة نشر 5 يونيو 2021 محددات الوصول في جافا هي ثلاثة انواع public، protected، private بالعربية: عام، محمي، خاص، و هي كلمات محجوزة في لغة جافا نستعملها قبل خصائص او وظائف الصنف او الكلاس و هذه الكلمات تُحدد طريقة و تتحكم في الوصول إلى هذه الخصائص او الوظائف. الخاص إذا ما وضعنا الكلمة private قبل الخاصية او الوظيفة سنتمكن من الوصول إليها من داخل الكلاس فقط المحمي إذا ما وضعنا الكلمة protected قبل الخاصية او الوظيفة سنتمكن من الوصول إليها من داخل الكلاس و من الكلاسات الأبناء و من الكلاسات التي تنتمي لنفس الحزمة (package) العام: إذا ما وضعنا الكلمة public قبل الخاصية او الوظيفة سنتمكن من الوصول إليها في أي مكان سواء داخل الكلاس في الكلاسات الأبناء أو في كلاسات أخرى. هناك نوع آخر في جافا غير مُستعمل كثيراً يُسمى الإفتراضي و هو إذا لم نحدد أي كلمة و هذا يعني أن الوصول إلى الخاصية أو الوظيفة يكون في إطار الحزمة ( package ) فقط. 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Nuhla Almasri نشر 5 يونيو 2021 أرسل تقرير مشاركة نشر 5 يونيو 2021 هذه المحددات لمعرفة كيفية تعامل الأصناف مع بعضها و كيفبة الوصول الى المتغيرات و الدوال من صنف معين private هو محدد يمنع أي صنف أخر من أستخدام هذه الدالة أو المتغير و لا يمكن أستدعئها من خارج الصنف هي فقط تعمل داخليا . public تمكنك من أستخدام الدالة أو المتغير من خلال أي صنف أخر و هنا مثال عليها كالتالي package p1; public class Demo1 { public void show() { System.out.println("Javatpoint"); } } import p1.*; class Demo2 { public static void main(String args[]) { Demo1 obj = new Demo1(); obj.show(); } } // هنا لن سيقوم بطباعة الأمر خصوصا بدون أي أخطاء لكن أم قمنا بتغيير المحدد الى private //فسيقوم بأعطاء خطأ لانه لا يسمح لك بأستخدام هذه الدالة خارج الصنف نفسه // كالتالي package p1; public class Demo1 { private void show() { System.out.println("Javatpoint"); } } import p1.*; class Demo2 { public static void main(String args[]) { Demo1 obj = new Demo1(); obj.show(); } } // سيخرج لك هذه المشكلة // error: show() has private access in demo1 .... أما بالنسبة للمحدد protected قهل لاحظت أننا نستعمل كلمة package أي رزمة أو حزمة من الأصناف و هنا ما يحدث أنك تستطيع أن تستخد أي دالة أو متغير يحملون المحدد من نوع protected فقط أن كانو بنفس الpackage أما خارجها فسيطبع لك خطأ كالتالي : // الرزمة التي تحتوي على الصنفين package p1; // الصنف الأول public class Demo1 { // الدالة الأولى private void show() { System.out.println("Javatpoint"); } } // الصنف الثاني و ينتمي لنفس الرزمة public class Demo2 { // الدالة الثانية تستخدم الدالة الأولى للطباعة public void show2() { Demo1 obj = new Demo1(); obj.show(); } } // أما أن أستخدمتها مبتشرة داخل ال main فسيعطيك خطأ 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Reham Numan
ممكن رجاءا شرح لمحددات الوصول private,public....etc لانني لم أقدر على تمييز الفروقات بينهم بشكل جيد
تم التعديل في بواسطة عبود سميرتعديل العنوان
رابط هذا التعليق
شارك على الشبكات الإجتماعية
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.