الفرق الرئيسي - الفئة مقابل الواجهة
البرمجة الشيئية (OOP) هي نموذج شائع في تطوير البرمجيات. يساعد على جلب سيناريوهات العالم الحقيقي للبرمجة باستخدام الفئات والكائنات. الفئة عبارة عن مخطط لإنشاء كائن. يمكن للمبرمج إنشاء فئة بخصائص وطرق. الطالب والمعلم كائنات. يُعرف إنشاء كائن باسم إنشاء مثيل. يستخدم OOP أيضًا واجهات. قد تبدو الواجهات والفئة متشابهة ، لكن هناك فرقًا بينهما. تتناول هذه المقالة الفرق بين الفئة والواجهة. يتمثل الاختلاف الرئيسي بين الفئة والواجهة في أن الفئة هي نوع مرجعي يمثل مخططًا لإنشاء مثيل لكائن بينما الواجهة هي نوع مرجعي لا يمكن استخدامه لإنشاء مثيل لكائن.
ما هو الفصل؟
في OOP ، يعتبر كل شيء ككائن. لا يمكن إنشاء كائن بدون فئة. الفئة عبارة عن مخطط لإنشاء كائن. عند بناء منزل ، يقوم المهندس المعماري برسم الخطة. الخطة تشبه الفصل. المنزل مشابه للكائن. الطبقة هي خطة بناء كائن. الكائن هو ما يتم إنشاؤه باستخدام الفصل.
يحتوي الفصل على الخصائص والطرق. يمكن أن يكون للطالب خصائص مثل الاسم والدرجة ورقم الفهرس. يمكن للطالب أن يكون لديه طرق مثل القراءة والمشي والدراسة. يتم إنشاء فئة بالخصائص والأساليب الضرورية.
بناء الجملة لإنشاء فصل في العديد من لغات البرمجة على النحو التالي. يتم إنشاؤه باستخدام فئة الكلمات الرئيسية.
class class_name {
// خصائص
// طرق
}
تتبع لغات البرمجة مثل Cو Java صيغة مماثلة لإنشاء كائن باستخدام فئة. افترض أن اسم الفصل هو Student.
طالب s1=طالب جديد () ؛
هذا s1 هو الكائن. يتم استخدام الكلمة الأساسية "جديد" لتخصيص ذاكرة للخصائص. يحتوي الفصل أيضًا على مُنشئ لتهيئة الخصائص أو المتغيرات.
يمتلك أعضاء الفصل مثل الخصائص والأساليب معدّلات وصول. تصف محددات الوصول إمكانية وصول هؤلاء الأعضاء وإمكانية رؤيتهم للفئات الأخرى. يمكن لأعضاء الفصل الحصول على محددات الوصول مثل العامة والخاصة والمحمية. يمكن الوصول إلى أعضاء الجمهور من قبل الفئات الأخرى. الأعضاء الخاصون متاحون فقط للفصل. يمكن الوصول إلى الأعضاء المحميين داخل الفصل والفئات الفرعية ذات الصلة.
ما هي الواجهة؟
التجريد هو أحد أعمدة البرمجة الشيئية. هو إخفاء تفاصيل التنفيذ وعرض الوظيفة للمستخدم. يتم التجريد باستخدام فئات وواجهات مجردة. الطريقة المجردة ليس لها تطبيق. الفئة التي تحتوي على طريقة مجردة واحدة على الأقل تسمى فئة مجردة.
عندما يكون هناك صنفان مجردان ، يجب تنفيذ الأساليب المعلنة في تلك الفئات. يتم استخدام فئة جديدة لتنفيذ تلك الأساليب. إذا كان كلا الفئتين لهما نفس الطريقة ، فقد يتسبب ذلك في مشكلة الغموض. لذلك ، لغات البرمجة مثل Java و Cلها واجهة.
واجهات تحتوي فقط على إعلان الأساليب. لا توجد طريقة للتنفيذ. أيضًا ، لا يمكن استخدام الواجهات لإنشاء كائنات. يتم استخدامها لدعم الميراث المتعدد وتأمين الكود.
بناء جملة الواجهة على النحو التالي. واجهة استخدام الكلمة الأساسية "واجهة".
واجهة interface_name {
type method1 (معلمة_قائمة) ؛
type method2 (معلمة_قائمة) ؛
}
وفقًا لما ورد أعلاه ، تحتوي الواجهات على الإعلان فقط. لا يوجد تعريف. لذلك ، لا يمكن للواجهات إنشاء مثيل للأشياء. إنه يعطي فقط نظرة مجردة لماهية الواجهة.يمكن تنفيذ الأساليب المعلنة في الواجهة بواسطة فئة واحدة أو عدة فئات. فئة تستخدم الكلمة الأساسية "تنفيذ" لتنفيذ واجهة. راجع المثال أدناه المكتوب باستخدام Java.
الشكل 01: برنامج باستخدام واجهات
وفقًا للبرنامج أعلاه ، تعتبر A و B واجهات. تحتوي الواجهة A على إعلان عن الطريقة وهو المجموع (). الواجهة B لها أسلوب إعلان فرعي (). تقوم الفئة C بتنفيذ كلا الواجهتين A و B. لذلك ، تحدد الفئة C كلاً من طريقتي sum () و sub (). بعد إنشاء كائن من النوع C ، من الممكن استدعاء كلا الأسلوبين sum () و sub ().
الطرق المعلنة داخل الواجهة يجب أن تكون عامة دائمًا لأن الفئات المنفذة تحددها. يمكن أن ترث الواجهة أيضًا من واجهة أخرى.
ما هي أوجه التشابه بين الطبقة والواجهة؟
- كلاهما من أنواع المراجع.
- كلاهما يتعلق بالبرمجة الشيئية.
ما هو الفرق بين الفئة والواجهة؟
الدرجة مقابل الواجهة |
|
الفئة هي نوع مرجعي عبارة عن مخطط لإنشاء كائن. | الواجهة هي نوع مرجعي لا يمكن إنشاء مثيل له. |
مثيل الكائن | |
فئة تُستخدم لإنشاء كائن. | لا يمكن إنشاء واجهة لأن الأساليب غير قادرة على تنفيذ أي إجراء. |
منشئ | |
فئة تحتوي على مُنشئ ، لتهيئة المتغيرات. | لا تحتوي الواجهة على مُنشئ لأنها بالكاد متغيرات للتهيئة. |
الكلمة الرئيسية | |
فئة تستخدم الكلمة الأساسية "فئة". | واجهة تستخدم الكلمة الأساسية "واجهة". |
محدد الوصول | |
يمكن لأعضاء الفصل أن يكونوا خاصين وعامين ومحميون. | يجب أن يكون أعضاء الواجهة دائمًا عامًا لأن الفئات المنفذة تحددهم. |
ملخص - الفئة مقابل الواجهة
تُستخدم الفئات والواجهات على نطاق واسع في البرمجة الشيئية. الفرق بين الفئة والواجهة هو أن الفئة هي نوع مرجعي وهو مخطط لإنشاء مثيل لكائن والواجهة هي نوع مرجعي لا يمكن استخدامه لإنشاء مثيل لكائن.يمكن للفصل تنفيذ العديد من الواجهات. لكنها يمكن أن توسع فئة واحدة فقط. في الواجهة يمكن أن يرث العديد من الواجهات ولكن لا يمكن أن يكون هناك تنفيذ. كلاهما له أهميته. يمكن للمبرمج استخدامها حسب تطوير البرامج.
قم بتنزيل فئة PDF مقابل الواجهة
يمكنك تنزيل نسخة PDF من هذه المقالة واستخدامها للأغراض غير المتصلة بالإنترنت وفقًا لملاحظة الاقتباس. يرجى تنزيل نسخة PDF هنا الفرق بين الفئة والواجهة