الفرق الرئيسي بين Package و Interface في Java هو أن Package تساعد في تصنيف الفئات بطريقة منهجية للوصول إليها وصيانتها بسهولة بينما تساعد Interface في تنفيذ العديد من الميراث وتحقيق التجريد.
تعد Java واحدة من أكثر لغات البرمجة شيوعًا. الميزة الرئيسية لـ Java هي أنها تدعم البرمجة الشيئية. تسمح هذه المنهجية بنمذجة كائنات العالم الحقيقي في البرامج. الفئة عبارة عن مخطط لإنشاء كائن. يحتوي كل كائن على بيانات أو حقول لوصف السمات أو الخصائص والطرق لوصف السلوكيات. تتناول هذه المقالة مفهومين متعلقين بـ OOP في Java في Java وهما الحزمة والواجهة.
ما هي الحزمة في Java؟
توفر Java عددًا كبيرًا من الفئات. قد يكون الاحتفاظ بجميع الفئات في مجلد واحد أمرًا صعبًا لأنه يصعب الوصول إليه. هذا يمكن أن يؤثر على إدارة البرنامج. تستخدم Java حزمًا لترتيب الفئات. إنه مشابه لمجلد. تقوم Java API بتجميع الفئات في حزم مختلفة وفقًا للوظيفة. لذلك ، تحتوي كل حزمة على مجموعة من الفئات ذات الصلة.
مثال على الحزم في Java
أمثلة قليلة على الحزم كما يلي. تحتوي الحزمة java.io على فئات دعم الإدخال والإخراج. وهي تتضمن File و PrintStream و BufferInputStream وما إلى ذلك. تحتوي حزمة java.net على الفئات المرتبطة بالشبكات. بعض الأمثلة هي URL و Socket و ServerSocket. تحتوي حزمة java.awt على جميع الفئات المطلوبة لإنشاء واجهات مستخدم رسومية. هذه بعض حزم Java API.
عندما يريد المبرمج استخدام فئة معينة في البرنامج ، يجب عليه استيراد تلك الحزمة. إذا أراد المبرمج استخدام فئة BufferInputStream في حزمة java.io ، فعليه كتابة جملة الاستيراد على النحو التالي.
استيراد java.util. BufferInoutStream ؛
البيان أدناه سوف يستورد جميع الفئات في حزمة الاستخدام.
استيراد java.util.؛
من الممكن أيضًا إنشاء حزم معرفة من قبل المستخدم.
موظف حزمة ؛
موظف من الدرجة العامة {
}
وفقًا للمثال أعلاه ، الموظف هو اسم الحزمة. فئة الموظف هي جزء من حزمة الموظف. يتم حفظ هذا الملف باسم Employee.java في حزمة الموظف.
علاوة على ذلك ، من الممكن استيراد فئة عامة من حزمة إلى أخرى. راجع المثال التالي.
الشكل 01: الفئة أ
الشكل 02: الفئة ب
الفئة A موجودة في الحزمة 1 ، وتحتوي على الطريقة العامة التي تسمى العرض. الفئة B موجودة في الحزمة 2 ، وتحتوي على الطريقة الرئيسية. على الرغم من أنها في حزم منفصلة ؛ يمكن للفئة B إنشاء كائن من الفئة A عن طريق استيراد package1. بعد استيراد الحزمة 1 ، يمكن للفئة B الوصول إلى البيانات والأساليب الخاصة بالفئة A.
بشكل عام ، تساعد الحزمة في Java على تنظيم ملفات المشروع. هذا مفيد جدًا عند تطوير نظام كبير لأنه يسمح بتخزين جميع الملفات بطريقة منهجية. بالإضافة إلى ذلك ، تسمح حزم Java API للمبرمجين باستخدام الفئات الموجودة بالفعل.
ما هي الواجهة في Java؟
في بعض الأحيان قد لا يعرف المبرمج تعريف الطريقة. في هذه الحالات ، يمكن للمبرمج فقط إعلان الطريقة. الطريقة المجردة هي طريقة ليس لها تعريف. لديها فقط الإعلان. عندما يكون هناك طريقة مجردة واحدة على الأقل ، تصبح هذه الفئة فئة مجردة. علاوة على ذلك ، يمكن أن يحتوي الفصل المجرد على طرق مجردة بالإضافة إلى طرق غير مجردة. لا يمكن للمبرمج إنشاء كائنات من فئات مجردة.
عندما يمتد الفصل إلى فئة مجردة ، يجب أن يحدد الفصل الجديد كل الطرق المجردة في فئة الملخص. بعبارة أخرى ، افترض أن الصنف A المجرد له طريقة مجردة تسمى العرض. تمد الفئة B الفئة A. ثم يجب أن تحدد الفئة B طريقة عرض الطريقة.
مثال على الواجهة في Java
افترض أن كلا من A و B عبارة عن فئات مجردة. إذا كانت الصنف C يمتد A و B ، فإن تلك الفئة C يجب أن تحدد الطرق المجردة لكلا الفئتين.هذا هو الميراث المتعدد. لا تدعم Java الوراثة المتعددة. لتنفيذه ، يجب على المبرمج استخدام الواجهات. إذا كانت A و B واجهات ، فيمكن للفئة C تنفيذها. راجع المثال التالي
الشكل 03: الواجهة
الشكل 04: الواجهة B
الواجهة A بها طريقة display1 المجردة ، والواجهة B لها طريقة display2 abstract.
الشكل 05: الفئة C
الفئة C تنفذ كلا الواجهتين A و B. لذلك ، يجب أن تحدد كلتا الطريقتين.
الشكل 06: الطريقة الرئيسية
الآن في الطريقة الرئيسية ، من الممكن إنشاء كائن من C واستدعاء كلا الطريقتين. وبالمثل ، تساعد الواجهات على تنفيذ الوراثة المتعددة في Java.
بخلاف الوراثة المتعددة ، تساعد الواجهات على تحقيق التجريد. إنه مفهوم رئيسي واحد في OOP. يسمح التجريد بإخفاء تفاصيل التنفيذ وإظهار الوظيفة فقط للمستخدم. علاوة على ذلك ، فإنه يسمح بالتركيز على ما يفعله الكائن بدلاً من كيفية القيام به. نظرًا لأن الواجهة تتكون من طرق مجردة ، فإنها تساعد في أرشفة التجريد.
ما هو الفرق بين الحزمة والواجهة في جافا؟
Package عبارة عن مجموعة من الفئات ذات الصلة التي توفر حماية الوصول وإدارة مساحة الاسم.الواجهة هي نوع مرجعي مشابه للفئة وهي عبارة عن مجموعة من الأساليب المجردة. تساعد الحزمة على تصنيف الفئات بطريقة منهجية للوصول إليها وصيانتها بسهولة. من ناحية أخرى ، تساعد الواجهة على تنفيذ الوراثة المتعددة وتحقيق التجريد. هذا هو الفرق الرئيسي بين Package و Interface في Java. علاوة على ذلك ، فإن طريقة كتابة الحزمة تكون بأحرف صغيرة مثل java.util ، java.awt. إذا كان اسم الواجهة هو المنطقة ، فسيتم كتابته في منطقة الواجهة.
ملخص - الحزمة مقابل الواجهة في Java
الفرق بين Package و Interface في Java هو أن Package يساعد في تصنيف الفئات بطريقة منهجية للوصول إليها وصيانتها بسهولة بينما تساعد Interface في تنفيذ الميراث المتعدد وتحقيق التجريد.