0Pricing
Java Academy · درس

الحزم ومعدّلات الوصول

الحزم ومعدّلات الوصول

الحزم ومعدّلات الوصول درس مجاني في Java Academy على CoddyKit. هذا هو الدرس 1 من أصل 1. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Java Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Java Academy 1 دروس في المجموع.

مقدمة

مرحبًا،

تستخدم Java مُعدّلات الوصول لتقييد وصول الكائنات إلى بعضها.

وقد يكون ذلك أحيانًا على مستوى الفئة، وكذلك على مستوى المتغير أو الأسلوب أو المنشئ.

وقبل التعمق في تفاصيل مفهوم مُعدّل الوصول، نحتاج إلى تعلم مفهوم الحزمة في Java.

مقدمة 2

في Java، يمكننا تجميع الفئات التي تؤدي الوظيفة نفسها معًا. ويمكننا تشبيه ذلك بتجميع الملفات ذات المهام المتشابهة في مجلد واحد ضمن نظام الملفات نفسه.

تُعد الحزم مهمة جدًا، خصوصًا لتجنب التعارض بين الفئات والأساليب التي تحمل الاسم نفسه ولكن تؤدي وظائف مختلفة.

الحزم المضمنة

لنستعرض الآن الحزم المضمنة.

تأتي Java مع مجموعة كبيرة نسبيًا من الفئات ضمن بيئة تطوير Java.

وفي هذه المجموعة، سنجد الفئات التي سنحتاج إليها أثناء تطوير تطبيقنا.

مثال ملموس

يمكننا تشبيه ذلك بمكتبة. ففي المكتبة رفوف مقسمة حسب الفئات، وكتب موضوعة على هذه الرفوف.

وعندما نفكر في مثال ملموس في Java، تقابل الرفوف في المكتبة الحزم، وتمثل الكتب الفئات.

تابع

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

فيما يلي مثال نموذجي على الاستيراد مستخدم من Java API.

import package.name.*; // Import the whole package
import package.name.Class; // Import a single class

الصياغة

عند النظر إلى الصياغة، بعد الكلمة المفتاحية import، تُستورد الفئة مباشرةً في الشيفرة باستخدام package.packageName.className، 

في حين أن package.packageName. *، عند استخدام النجمة، يجعل الفئات المناسبة في الحزمة متاحةً لفئتنا.

import java.util.Scanner;

class Main {

    public static void main(String[] args) {

    Scanner myObj = new Scanner([System.in](http:/system.in/));
      
   System.out.println("Enter username");
   String userName = myObj.nextLine();              System.out.println("Username is: " + userName);

                }
            }

مُعدِّل الوصول

في حال لم نحدده في Java، فإنه يتخذ مُعدِّل الوصول الافتراضي.

مُعدِّلات الوصول التي يمكننا تحديدها هي كما يلي.

public

public

كما يتضح من اسمه، فإن public هو الأقل تقييدًا بين مُعدِّلات الوصول.

يمكن الوصول إلى الأساليب والفئات والمتغيرات المعرّفة باستخدام public من أي مكان في التطبيق.

default

default

عندما لا نستخدم أي مُعدِّل وصول، تعيّن Java مُعدِّل الوصول الافتراضي نيابةً عنا.

لا يمكن الوصول إلى هذه العناصر إلا من داخل الحزمة نفسها.

تحذير

لا يمكن أن تكون للفئات إلا مُعدِّلات الوصول public أو الافتراضي.

private

private

لا يمكن الوصول إلى العنصر المعرّف باستخدام private إلا داخل الفئة المعنية.

ولا يمكن الوصول إليه من الحزمة نفسها أو من الفئة الفرعية التي ترث الفئة المرتبطة به.

Protected

protected

يمكن الوصول إلى الشيفرة المعرّفة باستخدام Protected من الحزمة نفسها ومن الفئات الفرعية.

أكثر الأمور إرباكًا هنا هو الفرق بين مُعدِّل الوصول protected ومُعدِّل الوصول الافتراضي. لا يفرض أيٌّ منهما قيودًا على مستوى الحزمة، لكن protected يتيح الوصول إلى الشيفرة المعنية من الفئات الفرعية.

لا يسمح رمز الوصول الافتراضي للفئة الفرعية بالوصول إلى الشيفرة المعنية في الفئة الأصلية عند التوريث.

تهانينا

تهانينا 🎉

في هذا الدرس، تعلمنا عن مُعدّلات الوصول في Java.

نراكم في الدرس التالي

الحزم ومعدّلات الوصول — رسم توضيحي 13

الأسئلة الشائعة

هل درس «الحزم ومعدّلات الوصول» مجاني؟

نعم — نص درس «الحزم ومعدّلات الوصول» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Java Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Java Academy 1 دروس في المجموع.

ماذا ستتعلم في «الحزم ومعدّلات الوصول»؟

الحزم ومعدّلات الوصول تتمرن على Java Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Java Academy؟

لا تُشترط خبرة سابقة. Java Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 1.

كم من الوقت يستغرق درس «الحزم ومعدّلات الوصول»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Java Academy هذا؟

نعم. كل درس في Java Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

← العودة إلى Java Academy