1. يمكن للكلمة الأساسية Virtual أن تعلن عن وظيفة فئة أساسية كطريقة افتراضية. public virtualvoid myVirtualMethod(){}
2. يمكنك أيضًا إعلان السمة على أنها افتراضية
int الظاهري العام { get }
3. يمكن تجاوز الوظائف الافتراضية في الفئات المشتقة. استخدم تجاوز الكلمة الأساسية.
4. في Java، جميع الوظائف افتراضية، ولكن C# مختلفة. باستثناء المُنشئات، فإن الوظائف في C# ليست افتراضية بشكل افتراضي، وتتطلب C# استخدام مفتاح التجاوز عند إعادة كتابة الوظائف في الفئات المشتقة، وبيان العرض.
5. تتمثل فائدة تجاوز التصريح الصريح في أنه إذا كان اسم أسلوب الفئة المشتقة مختلفًا قليلاً عن غير قصد عن الفئة الأساسية، فسوف يتجاهل C++ المشكلة، ولكن في C# سيحدث خطأ في الترجمة لأنه تم وضع علامة على الوظيفة على أنها تجاوز.
-