الحزم في Java: كيفية إنشاء الحزم واستخدامها في Java؟

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

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

ما هي 6 طرق لاستخدام هذه الكلمة الرئيسية

المدرجة أدناه هي الموضوعات التي تم تناولها في هذه المقالة:





ما هي الحزمة في جافا؟

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

يوفر استخدام الحزم أثناء الترميز الكثير من المزايا مثل:



    • إعادة الاستخدام: يمكن إعادة استخدام الفئات الموجودة في حزم برنامج آخر بسهولة
    • تعارض الأسماء: الحزمتساعدنا في تحديد فئة بشكل فريد ، على سبيل المثال ، يمكننا الحصول عليها الشركة ، المبيعات ، الموظف و company.marketing. الموظف الطبقات
    • الوصول المتحكم فيه: عروض حماية الوصول مثل pالفصول المتناوبة والفئات الافتراضية والفصول الخاصة
    • تغليف البيانات : انهم صإيجاد طريقة لإخفاء الفئات ، ومنع البرامج الأخرى من الوصول إلى الفئات المخصصة للاستخدام الداخلي فقط
    • صيانة: مع الحزم ،يمكنك تنظيم مشروعك بشكل أفضل وتحديد الفصول ذات الصلة بسهولة

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

أنواع الحزم في Java

بناءً على تحديد الحزمة من قبل المستخدم أم لا ، يتم تقسيم الحزم إلى فئتين:

  1. الحزم المدمجة
  2. الحزم المحددة من قبل المستخدم

الحزم المدمجة

الحزم المضمنة أو الحزم المحددة مسبقًا هي تلك التي تأتي كجزء من (Java Development Kit) لتبسيط مهمة مبرمج Java. وهي تتكون من عدد كبير من الفئات والواجهات المحددة مسبقًا والتي تعد جزءًا من Java API. بعض الحزم المدمجة شائعة الاستخدام هي java.lang و java.io و java.util و java.applet وما إلى ذلك ، إليك برنامج بسيط يستخدم حزمة مضمنة.



package Edureka import java.util.ArrayList class BuiltInPackage {public static void main (String [] args) {ArrayList myList = new ArrayList (3) myList.add (3) myList.add (2) myList.add (1) System. out.println ('عناصر القائمة هي:' + myList)}}

انتاج:

عناصر القائمة هي: [3 ، 2 ، 1]

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

الحزم المحددة من قبل المستخدم

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

إنشاء حزمة في جافا

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

حزمة MyPackage

تحدد عبارة الحزمة ببساطة الحزمة التي تنتمي إليها الفئات المحددة ..

ملحوظة: إذا حذفت تعليمة الحزمة ، فسيتم وضع أسماء الفئات في الحزمة الافتراضية ، والتي ليس لها اسم. على الرغم من أن الحزمة الافتراضية مناسبة للبرامج القصيرة ، إلا أنها غير مناسبة للتطبيقات الحقيقية.

بما في ذلك فئة في حزمة جافا

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

package MyPackage public class قارن {int num1، num2 قارن (int n، int m) {num1 = n num2 = m} public void getmax () {if (num1> num2) {System.out.println ('الحد الأقصى لقيمة اثنين الأرقام هي '+ num1)} else {System.out.println (' الحد الأقصى لقيمة رقمين هو '+ num2)}} عام ثابت باطل رئيسي (String args []) {Compare current [] = new Compare [3] current [1] = مقارنة جديدة (5 ، 10) الحالية [2] = مقارنة جديدة (123 ، 120) لـ (int i = 1 i<3 i++) { current[i].getmax() } } } 

انتاج:

الحد الأقصى لقيمة رقمين هو 10 الحد الأقصى لقيمة رقمين هو 123

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

قد تتساءل عن كيفية استخدام فئة المقارنة هذه من فصل دراسي في حزمة أخرى؟

إنشاء فئة داخل الحزمة أثناء استيراد حزمة أخرى

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

package Edureka import MyPackage.Compare public class Demo {public static void main (String args []) {int n = 10، m = 10 قارن الحالي = جديد قارن (n، m) if (n! = m) {current.getmax ()} else {System.out.println ('القيمتان متماثلتان')}}}

انتاج:

كلا القيمتين متماثلتين

لقد أعلنت الحزمة لأول مرة إدوريكا ، ثم استيراد الفئة قارن من الحزمة MyPackage. لذا ، الترتيبعندما نقوم بإنشاء فئة داخل حزمة أثناء استيراد حزمة أخرى ،

  • إعلان الحزمة
  • استيراد الحزمة

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

استخدام اسم مؤهل بالكامل أثناء استيراد فئة

إليك مثال لفهم المفهوم. سأستخدم نفس الحزمة التي أشرت إليها سابقًا في المدونة ، حزمة بلدي .

package Edureka public class Demo {public static void main (String args []) {int n = 10، m = 11 // استخدام اسم مؤهل بالكامل بدلاً من استيراد MyPackage.Compare current = new MyPackage.Compare (n، m) if ( n! = m) {current.getmax ()} else {System.out.println ('القيمتان متماثلتان')}}}

انتاج:

الحد الأقصى لقيمة رقمين هو 11

في فئة العرض التوضيحي ، بدلاً من استيراد الحزمة ، استخدمت الاسم المؤهل بالكامل مثل MyPackage مقارنة لإنشاء كائن منه. نظرًا لأننا نتحدث عن استيراد الحزم ، يمكنك أيضًا التحقق من مفهوم الاستيراد الثابت في Java.

استيراد ثابت في Java

تم تقديم ميزة الاستيراد الثابت في من الإصدار 5. يسهل على مبرمج Java الوصول إلى أي ثابتعضو في الفصل مباشرة دون استخدام الاسم المؤهل بالكامل.

package MyPackage import static java.lang.Math. * // static import import static java.lang.System. * // static import public class StaticImportDemo {public static void main (String args []) {double val = 64.0 double sqroot = sqrt (val) // الوصول إلى طريقة sqrt () خارجًا مباشرةً .println ('الجذر التربيعي لـ' + val + 'هو' + sqroot) // لا نحتاج إلى استخدام 'System.out}}
 انتاج: 
سكوير. جذر 64.0 هو 8.0

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

حماية الوصول في حزم جافا

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

  • فئات فرعية في نفس الحزمة
  • غير الفئات الفرعية في نفس الحزمة
  • فئات فرعية في حزم مختلفة
  • الفئات التي ليست في نفس الحزمة ولا في الفئات الفرعية

يعطي الجدول أدناه أالصورة الحقيقية لنوع الوصول الممكن وغير الممكن عند استخدام الحزم في Java:

نشر لا يوجد معدل محمي عامة

نفس الصف

نعم

نعم

نعم

نعم

نفس الفئات الفرعية للحزمة

لا

نعم

نعم

نعم

نفس الحزمة غير الفرعية

لا

نعم

نعم

جدول html داخل جدول

نعم

فئات فرعية حزم مختلفة

لا

لا

نعم

نعم

حزم مختلفة غير فئات فرعية

لا

لا

لا

نعم

يمكننا تبسيط البيانات في الجدول أعلاه على النحو التالي:

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

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

نقطة لنتذكر

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

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

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