موصى به, 2024

اختيار المحرر

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

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

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

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

تعريف الطبقة

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

 class class_name {/ * fields ... methods * /} 

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

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

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

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

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

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

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

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

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

استنتاج:

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

Top