تحتل الحزم packages بداية وأعلى الملفات المصدرية في لغة جافا، فعندما تبدأ بقراءة ملف الشفرة المصدرية تطالع عبارات استيراد الحزم packages المستخدمة في هذا الملف.
هذه العبارات القصيرة المتعلقة بالحزم تعطيك فكرة أولية عن درجة تعقيد البرنامج ونوع العمليات الموجودة بملف الشفرة المصدرية.
ما هي هذه الحزم packages، من الذي طوّرها وهل تستطيع أن تطور حزماً بلغة جافا؟!
لهذه التدوينة تتمة هنا الحزم في لغة جافا packages – الجزء 2.
هل هناك أي فائدة من استخدام الحزم في برنامجك؟
قبل أن نتحدث عن ماهيّة الحزمة نفسها دعني أعرّفك بأهميتها في برامجك التي تكتبها بلغة جافا.
(1) توفّر الحزم مجالاً للتسمية
أليس غريباً -بل شبه الممنوع- أن تجد أخوين لهم نفس الاسم؟! بالتأكيد غريب، ولكن لماذا؟ لأن الأخوين في نفس مجال التسمية namespace.
يُسمى أعضاء مجال التسمية الواحد بأسماء مميزة ومختلفة عن بعضهم ومن الأفضل أن تكون معبرة عن كل عضو منهم بحيث يسهل تذكرها ومناداتها دون وجود خلط وكذلك معرفة العضو من خلال اسمه.
أعضاء مجال التسمية في لغة جافا مثل الواجهات interfaces و الأصناف classes يمتلكون أسماءً متميزة ما داموا في نفس الحزمة.
كيف تختار أسماء المعرّفات في جافا للفئات والمتغيرات والدوال
(2) المساعدة في خلق حدود للوصول إلى أعضائها
بما أن الحزمة توفر مجالاً للتسمية فإنها بذلك أيضاً توفر هيكلاً يستخدم في تحديد الوصول إلى هؤلاء الأعضاء.
فبعض الأصناف مثلاً لم تصمم حتى يتم الوصول إليها من قبل جميع الأصناف الأخرى للمحافظة على تصميم البرنامج وهكذا.
(3) المساعدة على توزيع البرنامج
بعد أن تكمل تطوير برنامج باستخدام بيئة التطوير المتكاملة IDE أياً كانت فإن الخطوة التالية تكون نشر البرنامج وتوزيعه على المستخدمين.
تلعب الحزم دوراً محورياً في توزيع البرنامج كما سترى ذلك لاحقاً في هذه السلسلة.
بعد أن تعرف ما هي الحزمة، كيف تعرّفها؟
كما ذكرتُ لك سابقاً، الحزمة هي مجال للتسمية كما أنها كذلك طريقة تنظيمية لملفات برنامج الجافا.
الحزمة هي مجموعة من الأصناف ذات العلاقة.
عندما تنشئ برنامجك لأول مرة ستجد حزمة افتراضية تحمل علامة المربع الأصفر الذي يشبه الحزمة/الطرد/الصندوق وبداخله صنفٌ واحدٌ وهو الصنف الأساسي Main Class.

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

(2)

(3)

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

بالرغم من رؤيتك للصنف Accounting لكن لا تستطيع استخدامه بهذا الاسم فقط. يجبُ أن تستصحب اسم الحزمة التي يوجد بداخلها فيصبح accounting.Accounting.
واصل القراءة عن الحزم في لغة جافا الحزم في جافا – الجزء 2
وللتطبيق العملي يمكنك الاطلاع علي كيف تقرأ من وتكتب في ملف نصي باستخدام java.io و java.nio.
سلام عليكم اسمي حليمة اريد تعلم لغة جافا سكربيت او لغة php اريد تصميم موقع الكتروني بطريقة سهلة وبسيطة اريد استشارة منكم وتوجيهات وارشادات لكي اصبح محترفة في لغات البرمجة لكي تكون ممهدة لي في تصميم مواقع الالكترونية
وعليكم السلام ورحمة الله حليمة.
شيءٌ عظيم فعلاً وهدفٌ حيّد. اطلعي على تدوينة تعلم البرمجة من الصفر: [الدليل الشامل] أهم 13 نصيحة و معلومة للمبرمج المبتدئ ثم ابحثي عن مصدر لتبدأي منه التعلم وواصلي مع ذلك المصدر الذي تتعلمين منه حتى النهاية. فذها سر النجاح في تعلم البرمجة.
ما اول شئ ابدأ به طريق البرمجة وما الشئ الذى اختم به وانا فى البداية وما المواقع التى تنصح بها للتعلم من عليها
تجد مبتغاك في تدوينة تعلم البرمجة من الصفر: [الدليل الشامل] أهم 13 نصيحة و معلومة للمبرمج المبتدئ بإذن الله.
عمل رائع ربنا يمتعك بالصحة والعافية
جزاك الله خيراً كثيرا
بارك الله فيك يا أستاذنا.
وفيك بارك محمد
شكرا:على مجهودك يا استاذ مصطفي
اولا انا اسمى محمود عندى(١٦)سنه محب للبرمجه حلمى ان اتعلم لغه(السى شارب)، ولكن توجهنى مشكله ان لا املك غير الهاتف المحمول
وذلك لا يتيح مجلان اتعلم البرمجه فبدات ارسم وجهات IDE
على الورق واتعلم كتابة كود الغة ان هذه الطريقه صعبة فى اشياء كثيرة منها معرفة النتائج (صح)ام(خطا) اوايضا اختبار صحية الكود البرمجى، كنت عايز اعرف فى ماوقع لتعلم البرمجه
(السي شارب)بطريق افضل مع محدودية الامكنات لكى استطيع التغلب على المشكله ، بس فى حاجه اخره احب اقوله انت مجهودك جبار فى المدونه انا متبعك من فتره طويله احب اقراء مقلتك مع انى مشبقدر استوعبه والحمد لله رب العلمين وشكرااا
محمود من مصر
أهلاً ومرحباً بك أخي محمود،
في البدء تُرفع لك القبعات -وليست قبعة واحدة- على اجتهادك العظيم وعزيمتك التي -بإذن الله- لا تفتر في سبيل تعلم البرمجة.
لي الشرف أخي محمود أن تقرأ كلماتي البسيطة، لي الشرف حقاً وأتمنى أن يأتي يوم أن تصبح مبرمجاً فذاً قريباً.
شيءٌ بسيط أستطيع أن أهديه لك وهو موقع لتنفيذ الشفرات المصدرية الخاصة بـلغة سي شارب أونلاين، تستطيع تجربة ما تكتب من هاتفك المحمول ورؤية صحة الناتج فعلاً بدلاً عن الاعتقاد.
الموقع: https://rextester.com/
أتمنى لك كل التوفيق محمود