سؤال

وأنا أتساءل إذا كان هناك أي اختلافات الفئات المشتقة عند استخدام مجردة vs ريال دروس الميراث ؟

يبدو لي الدرجة الحقيقية الميراث يخلق الهرمي في حين أن فئة مجردة الميراث هو مجرد نسخ ولصق رمز مترجم إلى الفئات المشتقة?

لا فئة مجردة يخلق التسلسل الهرمي ؟ ويمكن الوصول إليها باستخدام خاص الكلمة ؟

أنا أعرف أن استخدام الكلمة الأساسية للوصول إلى الفئة الأساسية, ولكن مجردة أعضاء تشبه الأعضاء الأصليين في الفئات المشتقة?

وأخيرا ما هو الفرق في الأداء بين 2?

هل كانت مفيدة؟

المحلول

ونعم فئة مجردة موجود - المترجم لا تفعل النسخ واللصق. فإنك لن تجد أي فرق الأداء كما لو أن CLR يجب أن لا تزال تفعل استدعاءات الأسلوب الظاهري.

وعلى سبيل المثال ما يلي C #:

abstract class Foo { }

class Bar : Foo { }

ويولد IL التالية:

.class private abstract auto ansi beforefieldinit Foo
    extends [mscorlib]System.Object { }

.class private auto ansi beforefieldinit Bar
    extends Foo { }

ومفهوم من نوع المجرد هو إلى حد كبير جزءا من IL.

نصائح أخرى

والفرق الوحيد هو أن فئة قاعدة مجردة لا يمكن إنشاء مثيل من دون أن تستمد من، في حين أن غير مجردة يمكن واحد. من وجهة نظر فئة مشتقة، كل شيء هو نفسه.

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

  • وهي فئة مجردة لا يمكن إنشاء مثيل
  • مجردة طرق يسمح فقط في فئات مجردة

ولكن فئة مجردة يمكن أن يكون غير مجردة أساليب خصائص الحقول.

الأداء لا علاقة الطبقات ولكن هناك عقوبة مجردة/طرق افتراضية.

وقوة فئة مجردة هي فيه unimplementation. ويمكن استخدامه للثقة التي مثيل الفئات المشتقة سيكون لها وظيفة اللازمة الكامل

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

من الأفضل استخدام

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top