الحزم في لغة جافا packages – الجزء 1

تحتل الحزم packages بداية وأعلى الملفات المصدرية في لغة جافا، فعندما تبدأ بقراءة ملف الشفرة المصدرية تطالع عبارات استيراد الحزم packages المستخدمة في هذا الملف.

هذه العبارات القصيرة المتعلقة بالحزم تعطيك فكرة أولية عن درجة تعقيد البرنامج ونوع العمليات الموجودة بملف الشفرة المصدرية.

ما هي هذه الحزم packages، من الذي طوّرها وهل تستطيع أن تطور حزماً بلغة جافا؟!

هل هناك أي فائدة من استخدام الحزم في برنامجك؟

قبل أن نتحدث عن ماهيّة الحزمة نفسها دعني أعرّفك بأهميتها في برامجك التي تكتبها بلغة جافا.

(1) توفّر الحزم مجالاً للتسمية

أليس غريباً -بل شبه الممنوع- أن تجد أخوين لهم نفس الاسم؟! بالتأكيد غريب، ولكن لماذا؟ لأن الأخوين في نفس مجال التسمية namespace.

يُسمى أعضاء مجال التسمية الواحد بأسماء مميزة ومختلفة عن بعضهم ومن الأفضل أن تكون معبرة عن كل عضو منهم بحيث يسهل تذكرها ومناداتها دون وجود خلط وكذلك معرفة العضو من خلال اسمه.

أعضاء مجال التسمية في لغة جافا مثل الواجهات interfaces و الأصناف classes يمتلكون أسماءً متميزة ما داموا في نفس الحزمة.

(2) المساعدة في خلق حدود للوصول إلى أعضائها

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

فبعض الأصناف مثلاً لم تصمم حتى يتم الوصول إليها من قبل جميع الأصناف الأخرى للمحافظة على تصميم البرنامج وهكذا.

(3) المساعدة على توزيع البرنامج

بعد أن تكمل تطوير برنامج باستخدام بيئة التطوير المتكاملة IDE أياً كانت فإن الخطوة التالية تكون نشر البرنامج وتوزيعه على المستخدمين.

تلعب الحزم دوراً محورياً في توزيع البرنامج كما سترى ذلك لاحقاً في هذه السلسلة.

بعد أن تعرف ما هي الحزمة، كيف تعرّفها؟

كما ذكرتُ لك سابقاً، الحزمة هي مجال للتسمية كما أنها كذلك طريقة تنظيمية لملفات برنامج الجافا.

الحزمة هي مجموعة من الأصناف ذات العلاقة.

عندما تنشئ برنامجك لأول مرة ستجد حزمة افتراضية تحمل علامة المربع الأصفر الذي يشبه الحزمة/الطرد/الصندوق وبداخله صنفٌ واحدٌ وهو الصنف الأساسي Main Class.

صنف في داخل حزمة
صنف في داخل حزمة

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

خطوات إنشاء الحزمة في برنامج نتبينز

(1)

الضغط بزر الفأرة الأيم على الحزمة ثم اختيار انشاء حزمة
الضغط بزر الفأرة الأيم على الحزمة ثم اختيار انشاء حزمة

(2)

نافذة إنشاء حزمة
نافذة إنشاء حزمة

(3)

حزمة secondPackage بعد الإنشاء
حزمة secondPackage بعد الإنشاء

قليلاً عن تسمية الحزم

كما رأيت أعلاه، من الممكن أن تنشئ عدداً من الحزم المختلفة وفقاً لما تحتاجه في برنامجك.

ولتلافي التداخل والاختلاط بين تسميات الحزم هناك بعض الأمور البسيطة في تنفيذها والمهمة في أثرها والتي يجبُ أن تراعيها في تسمية الحزم.

  1. يجب أن يكون اسم الحزمة مميزاً غير متكرر: في جافا يُمنع تكرار اسم الحزمة ومنطقياً إذا احتجت لتكرار اسم الحزمة فهذا يعني أنه باستطاعتك استخدام الحزمة المنشأة سابقاً.
  2. تسمية الحزمة الرئيسية تكون بعكس اسم النطاق، مثلاً عند تطوير لموقع oolom.com تُسمى الحزمة الرئيسية com.oolom.

يجبُ أن تنتبه جيّداً إلى اسم الحزمة التي يوجد بداخلها الصنف، لأنها ستصبح المعرّفة له. مثلاً في الصورة التالية

نافذة إنشاء حزمة

بالرغم من رؤيتك للصنف Accounting لكن لا تستطيع استخدامه بهذا الاسم فقط. يجبُ أن تستصحب اسم الحزمة التي يوجد بداخلها فيصبح accounting.Accounting.

 

واصل القراءة عن الحزم في لغة جافا الحزم في جافا – الجزء 2

مصطفى الطيب

صديقٌ لنُظمِ المعلُومات و عُلومِ الحَاسِب و مُختصٌ بهما، مُحبٌ للعِلمِ و نَشرِه. أُشاركُ معارفي و تَجاربي و خِبراتي في تَدويناتٍ و دوراتٍ من خلال مُدونةِ عُلوم.

‫6 تعليقات

  1. شكرا:على مجهودك يا استاذ مصطفي
    اولا انا اسمى محمود عندى(١٦)سنه محب للبرمجه حلمى ان اتعلم لغه(السى شارب)، ولكن توجهنى مشكله ان لا املك غير الهاتف المحمول
    وذلك لا يتيح مجلان اتعلم البرمجه فبدات ارسم وجهات IDE
    على الورق واتعلم كتابة كود الغة ان هذه الطريقه صعبة فى اشياء كثيرة منها معرفة النتائج (صح)ام(خطا) اوايضا اختبار صحية الكود البرمجى، كنت عايز اعرف فى ماوقع لتعلم البرمجه
    (السي شارب)بطريق افضل مع محدودية الامكنات لكى استطيع التغلب على المشكله ، بس فى حاجه اخره احب اقوله انت مجهودك جبار فى المدونه انا متبعك من فتره طويله احب اقراء مقلتك مع انى مشبقدر استوعبه والحمد لله رب العلمين وشكرااا
    محمود من مصر

    1. أهلاً ومرحباً بك أخي محمود،
      في البدء تُرفع لك القبعات -وليست قبعة واحدة- على اجتهادك العظيم وعزيمتك التي -بإذن الله- لا تفتر في سبيل تعلم البرمجة.
      لي الشرف أخي محمود أن تقرأ كلماتي البسيطة، لي الشرف حقاً وأتمنى أن يأتي يوم أن تصبح مبرمجاً فذاً قريباً.
      شيءٌ بسيط أستطيع أن أهديه لك وهو موقع لتنفيذ الشفرات المصدرية الخاصة بـلغة سي شارب أونلاين، تستطيع تجربة ما تكتب من هاتفك المحمول ورؤية صحة الناتج فعلاً بدلاً عن الاعتقاد.
      الموقع: https://rextester.com/
      أتمنى لك كل التوفيق محمود

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

مقالات ذات صلة

زر الذهاب إلى الأعلى