الفرق الرئيسي - الطبقة مقابل واجهة

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

محتويات

1. نظرة عامة والفرق الرئيسي 2. ما هي الفئة 3. ما هي الواجهة 4. أوجه التشابه بين الفئة والواجهة 5. مقارنة جنبًا إلى جنب - فئة مقابل واجهة في شكل جدول 6. ملخص

ما هو الفصل؟

في OOP ، يعتبر كل شيء ككائن. لا يمكن إنشاء كائن بدون فصل دراسي. الفئة هي مخطط لإنشاء كائن. عند بناء منزل ، يرسم المهندس المعماري الخطة. الخطة تشبه الفصل. المنزل يشبه الكائن. الطبقة هي خطة لبناء كائن. الكائن هو ما يتم إنشاؤه باستخدام الفصل.

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

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

class class_name {

// الخصائص

//طرق

}

تتبع لغات البرمجة مثل C # و Java بناء جملة مماثل لإنشاء كائن باستخدام فصل دراسي. افترض أن اسم الفصل هو الطالب.

الطالب s1 = طالب جديد () ؛

هذا s1 هو الكائن. يتم استخدام الكلمة الأساسية "الجديدة" لتخصيص الذاكرة للخصائص. للفئة أيضًا مُنشئ لتهيئة الخصائص أو المتغيرات.

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

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

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

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

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

بناء الجملة من واجهة كما يلي. واجهة استخدام الكلمة "واجهة" الكلمة.

واجهة interface_name {

اكتب method1 (المعلمة_قائمة) ؛

اكتب method2 (المعلمة_قائمة) ؛

}

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

وفقا للبرنامج أعلاه ، A و B واجهات. واجهة A لديه تعريف الأسلوب وهو sum (). واجهة B لديه أسلوب إعلان sub (). تطبق الفئة C كلاً من الواجهتين A و B. لذلك ، فإن الفئة C تحدد كلاً من المجموعتين () و sub (). بعد إنشاء كائن النوع C ، من الممكن استدعاء كلتا المجموعتين sum () و sub ().

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

ما هي أوجه التشابه بين الطبقة والواجهة؟

  • كلاهما أنواع مرجعية. كلاهما يتعلق بالكائن الموجه.

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

ملخص - الطبقة مقابل واجهة

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

قم بتنزيل واجهة PDF Class مقابل الواجهة

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

مرجع:

1.tutorialspoint.com. "كائن Java وفئاته" ، The Point. متاح هنا 2.navinreddy20. الواجهة في java مع مثال ، Java By Navin Reddy ، 11 ديسمبر 2012. متوفر هنا