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

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

الفرق بين الفئة المجردة الموجودة وواجهة Java

ما هو الفصل المجرد في جافا؟

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

قد تكون أو لا تحتوي فئة التلخيص على طرق مجردة (طرق غير نصية) ، ولكن إذا كانت هناك طريقة تجريد واحدة على الأقل ، فيجب إعلانها مجردة. ومع ذلك ، يمكن استخدام الطرق المجردة فقط في فئة الملخص ، ولكن فقط للسلوك الافتراضي. يمكن أن تحتوي الطرق الموجزة على معدِّلات إدخال ، مثل الشخصية والعامة والثابتة والمحمية ، اعتمادًا على مستوى العرض. لا يمكن إنشاء فئة الاستنتاج ولا تقدم تجريدًا بنسبة 100٪ حيث قد يكون لها طريقة محددة.

ما هي الواجهة؟

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

الفرق بين الفئة المجردة الموجودة وواجهة Java

  1. في Java ، الفئة المجردة والواجهة "متعدد الوراثة" - على الرغم من أن الفئة المجردة والواجهة تستخدمان بشكل أساسي في التجريد ، إلا أنهما مختلفان تمامًا عن بعضهما البعض. على الرغم من أن الفئة المجردة هي فئة ، فإن الواجهة هي واجهة. هذا يعني أن الواجهة يمكن أن تمتد فقط إلى واجهة Java أخرى ، بينما يمكن للفئة المجردة تنفيذ العديد من الميراث في Java. حسنًا ، لا تدعم جافا إرثًا متعددًا ، ولكن يمكن أن تحتوي جافا على إرث متعدد. في Java ، الفئة المجردة والواجهة "الطريقة" - الاختلافان الرئيسيان هما أن الواجهة يمكن أن يكون لها طرق مجردة فقط ، ويمكن أن يكون للفئة المجردة أساليب مجردة وغير مجردة. ولكن منذ Java 8 ، قد تحتوي الواجهة على طرق قياسية وثابتة. في Java ، الفئة المجردة وواجهة "معدِّلات الإدخال" - قد تحتوي الفئة المجردة على معدِّلات وصول مفتوحة وشخصية ومحمية ، ولكن طرق الواجهة مفتوحة ومجردة. لا يمكنك استخدام مُعدِّل إدخال آخر مع أساليب الواجهة. في Java ، "تنفيذ" الفئة المجردة والواجهة - توفر الفئة المجردة تنفيذ الواجهة. في المقابل ، لا يمكن للواجهة توفير تطبيق فئة مجردة. في Java ، يتم استخدام الفئة المجردة و "الكلمة الأساسية" للواجهة للإعلان عن مجردة نمط الفئة المجردة ، لكن الواجهات هي قصة مختلفة تمامًا ؛ يمكن أن يكون لديهم فقط استقرار نهائي جماعي وثابت وإعلان الطريقة. في Java ، فئة مجردة و "استخدام" الواجهة - على الرغم من أن الواجهة مثالية للإعلان عن الأنواع ، فإن الفئة المجردة هي الأنسب لإعادة استخدام التعليمات البرمجية والتطور. الواجهة مثل فئة ، ولكنها ليست فئة. في Java ، تعد الفئة الموثوقة وواجهة "الموثوقية" للفرق المجردة اختلافًا مهمًا آخر بين الفئة المجردة والواجهة ، حيث تكون الأخيرة أسرع قليلاً من الأولى ، لأنه في Java ، عادةً ما يتم البحث باستخدام الواجهة قبل استدعاء أي طريقة تم إلغاؤها. 'متصل. فئة مجردة فئة جافا سكريبت وواجهة "المتغيرات النهائية" - المتغيرات المعلنة في الواجهة نهائية بشكل افتراضي ، في حين أن الفئة المجردة قد تكون أو لا تحتوي على متغيرات غير نهائية.

فئة مجردة وواجهة جافا: جدول مقارنة

ملخص للفئة المجردة وواجهة في جافا

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

المراجع

  • بلوخ ، جوشوا. دليل لغة برمجة جافا. بوسطن: أديسون ويسلي ، 2001. طباعة
  • بلوخ ، جوشوا. دليل لغة برمجة جافا. بوسطن: أديسون ويسلي ، 2001. طباعة
  • فلاناغان ، ديفيد. حتى جافا. سيباستوبول: MeasurementReilly Media ، 1996. طباعة
  • Ekkel. التفكير بلغة جافا. دلهي: بيرسون للتعليم الهند ، 2006. طباعة
  • "مصدر الصورة: https://stackoverflow.com/questions/1913098/what-is-the-difference-b Between-an-interface-and-ab abstract-class"