شرح - what is the meaning of abstract in c#




واجهات مقابل الطبقات المجردة (3)

في C # ، متى يجب عليك استخدام الواجهات ومتى يجب استخدام الفصول التجريدية؟ ما يمكن أن يكون العامل الحاسم؟


السؤال الحقيقي هو: ما إذا كنت ستستخدم الواجهات أو الطبقات الأساسية. وقد تم تغطيتها من قبل.

في C # ، فئة مجردة (واحد ملحوظ مع الكلمة الأساسية "مجردة") هو ببساطة فئة منه لا يمكنك إنشاء كائنات. هذا يخدم غرض مختلف عن مجرد جعل التمييز بين الطبقات الأساسية والواجهات.


تختلف الطبقات المجردة والواجهات بشكل معنوي ، على الرغم من إمكانية تداخل استخدامها.

يتم استخدام فئة مجردة عموما كأساس لبناء الطبقات مماثلة. يمكن أن يكون التنفيذ الشائع للفئات في الطبقة المجردة.

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


مزايا فئة مجردة هي:

  • القدرة على تحديد التطبيقات الافتراضية للطرق
  • واضاف ثابتة للتحقق من وظائف
  • احصل على المزيد من التحكم في طريقة استدعاء أساليب "الواجهة"
  • القدرة على توفير سلوك متعلق أو غير مرتبط بواجهة "مجانًا"

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





abstract-class