الفرق بين الطبقة والواجهة في جافا

مؤلف: Laura McKinney
تاريخ الخلق: 2 أبريل 2021
تاريخ التحديث: 14 قد 2024
Anonim
Difference between Interface and Absract Class
فيديو: Difference between Interface and Absract Class

المحتوى


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

  1. رسم بياني للمقارنة
  2. تعريف
  3. الاختلافات الرئيسية
  4. خاتمة

رسم بياني للمقارنة

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


تعريف الفئة

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

الحقول class_name {/ * الحقول ... الأساليب * /}

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

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


تعريف الواجهة

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

interface interface_name {type var_name = value؛ اكتب method1 (قائمة المعلمات) ؛ اكتب method2 (قائمة المعلمات) ؛ . . }

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

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

الاختلافات الرئيسية بين الطبقة والواجهة في جافا

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

خاتمة:

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