ما هي المحمية في Java وكيف يتم تنفيذها؟

ستساعدك هذه المقالة حول محمية في Java على فهم الكلمات الرئيسية المحمية وكيف يمكن أن تساعد في تغليف التعليمات البرمجية الخاصة بك ومنع إساءة استخدامها.

توفر Java مجموعة من الكلمات الأساسية تسمى معدِّلات الوصول مما يساعدنا في تحديد رؤية الفصل ،واجهة ، متغير ، عضو بيانات ، طريقة ، مُنشئ ، إلخ. هناك 4 أنواع من مُعدِّلات الوصول ، افتراضي ، عام ، خاص ومحمي ، وهي مدعومة في . في هذه المقالة ، سأركز فقط على الحماية في Java وأساعدك في الحصول على رؤى واضحة حولها.

فيما يلي المواضيع التي سأناقشها في هذه المقالة:





ما هو محمي في جافا؟

كما ذكرنا سابقًا ، تعتبر محمية في Java أداة تعديل وصول تساعد المبرمج في تعيين رؤية الفصل وأعضائه ، واجهات ، إلخ. عندما يتم إعلان أعضاء الفصل على أنهم محميون في Java ، فإنهم يكونون كذلكيمكن الوصول إليها فقط داخل نفس صفقة بالإضافة إلى الفئات الفرعية المباشرة للفئة الأساسية. أثناء استخدام كلمة رئيسية محمية في Java ، يجب أن تضع في اعتبارك أنه يمكن إعلان أعضاء الفصل فقط على أنهم محميون. لا يمكن الإعلان عن الفئات والواجهات على أنها محمية في Java.

ربما تفكر الآن لماذا لا يمكن حماية الطبقات والواجهات؟



حسنًا ، إذا كنت تعتقد أن الإجابة منطقية تصبح واضحة تمامًا. إذا كان الفصل محميًا ، فسيكون مرئيًا فقط للفئات الموجودة داخل نفس الحزمة. الآن ، كما ذكرت من قبل ، عندما يتم حماية أي شيء في Java ، فإنه يكون مرئيًا لفئاته الفرعية أيضًا.

لكن هنا غموض. بالنسبة للفئات الأخرى لتوسيع فئة محمية ، يجب أن تكون الفئة الأصلية مرئية. كيف ستمدد شيئًا غير مرئي في المقام الأول؟ وبالتالي ، فإن هذا يسبب الغموض ولا يسمح بإنشاء فئات محمية في .

الآن دعونا نفهم لماذا لا يمكن حماية الواجهات. حسنًا ، في Java ، تتم حماية العناصر بشكل عام بحيث يمكن مشاركة تطبيقاتها مع آخرين. لكن في حالة واجهات ، ليس لديهم تطبيق ، لذلك لا فائدة من مشاركتهم. وبالتالي ، يجب أن تكون جميع الطرق الموجودة داخل الواجهات عامة بحيث يمكن لأي فئة أو دعامات تنفيذها بسهولة.



هكذا أنتيمكن أن تعلن فقط وأعضاء البيانات محميون في Java وليس الطبقات أو واجهات. هذا يساعد في تغليف الكود عن طريق تقييد الوصول لأعضاء الفصل. كما أنه يساعد في منع إساءة استخدام البيانات.

ما هو البوجو في الربيع

التنفيذ المحمي

دعونا نحاول الآن تنفيذ ما تعلمناه حتى الآن. لذلك ، سأقوم هنا بإنشاء فئتين ، تنتمي كل منهما إلى حزمة منفصلة.

EduProtected.java في الحزمة edu1

package edu1 public class EduProtected {المحمية void message (String disp) {System.out.println ('Package 1 message recieved:' + disp)}}

EduSubClass.java في الحزمة edu2

package edu2 import edu1.EduProtected public class EduSubClass توسع EduProtected {public static void main (String [] args) {EduProtected show = new EduProtected () // invokes message () من EduProtected class show.message ('Hello from package2 subclass') }}

انتاج:

هياكل وخوارزميات بيانات جافا

تم استلام رسالة الحزمة 1: مرحبًا من الفئة الفرعية للحزمة 2

هذا يقودنا إلى نهاية هذا المقال.إذا كنت تريد معرفة المزيد عن Java ، يمكنك الرجوع إلى موقعنا .

الآن بعد أن فهمت ما هو محمي في Java ، تحقق من ملف من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. تم تصميم دورة تدريب وشهادة Java J2EE و SOA من Edureka للطلاب والمهنيين الذين يرغبون في أن يصبحوا مطوري Java. تم تصميم الدورة التدريبية لمنحك السبق في برمجة Java وتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & Spring.

لديك سؤال لنا؟ يرجى ذكرها في قسم التعليقات بهذه المقالة وسنعاود الاتصال بك في أقرب وقت ممكن.