-
ما هو اسم المعلمة الضمنية التي تم تمريرها إلى الطريقة المحددة للخاصية؟
القيمة، نوعها هو نفس النوع المعلن للخاصية.
كيفية تنفيذ الميراث في C#؟
أضف نقطتين بعد اسم الفئة، متبوعًا باسم الفئة الأساسية.
هل يدعم C# الوراثة المتعددة؟
غير معتمد. يمكن تحقيق ذلك باستخدام الواجهات.
أين يمكن الوصول إلى الخصائص/الأساليب المحمية؟
يمكن الوصول إليه عن طريق الميراث أو الميراث غير المباشر والفئات الفرعية لهذه الفئة.
هل سيتم توريث الأعضاء الخاصين؟
نعم، ولكن لا يمكن الوصول إليه. فالظاهر أنهم لا يورثون، بل في الحقيقة هم موروثون. (في رأيي، ترث الفئة الفرعية كل شيء من الفئة الأصلية. يشير <التفكير في JAVA> إلى أن كائن الفئة الفرعية يحتوي على نسخة كاملة من كائن الفئة الأصلية. يتم إنشاء مثيل للفئة من الطبقة الفائقة ذات المستوى الأعلى، وهي طبقة- لا يمكن أن تكون طريقة الوصول الخاصة المقيدة إلا داخل الفصل، وهذا مجرد عنصر تحكم في الوصول.)
يرجى وصف المعدل المحمي الداخلي.
لا يمكن الوصول إلى الخصائص/الأساليب التي تم تعديلها بواسطة الحماية الداخلية إلا من خلال الفئات الفرعية الخاصة بها في نفس التجميع (التجميع).
توفر لغة C# مُنشئًا افتراضيًا بدون معلمات. عندما أقوم بتنفيذ مُنشئ آخر بمعلمة واحدة، أريد أيضًا الاحتفاظ بهذا المُنشئ بدون معلمات. كم عدد المُنشئين الذين يجب أن أكتب بهذه الطريقة؟
ثانيًا، بمجرد تنفيذ مُنشئ، لن توفر C# مُنشئًا افتراضيًا بعد الآن، لذلك تحتاج إلى تنفيذ مُنشئ بدون معلمات يدويًا.
ما هي الفئة الأساسية المشتركة بين جميع الكائنات في C#؟
System.Object.
ما الفرق بين التحميل الزائد والكتابة الفوقية؟
يوفر التحميل الزائد تنفيذ استدعاء توقيع الطريقة بمعلمات مختلفة. يوفر التجاوز تطبيقًا في فئة فرعية يغير سلوك طريقة الفئة الأصلية.
ماذا يعني الظاهري في تعريف الطريقة؟
يمكن تجاوز الأساليب التي تم تعديلها بواسطة Virtual بواسطة الفئات الفرعية.
هل يمكن تجاوز الأساليب غير الثابتة إلى أساليب ثابتة؟
لا، يجب أن يكون توقيع طريقة التجاوز متسقًا مع توقيع طريقة التجاوز، باستثناء التغيير الظاهري إلى التجاوز.
هل يمكن تجاوز الأساليب الافتراضية الخاصة؟
لا، حتى الأساليب الخاصة في الفئة الأصل لا يمكن الوصول إليها في الفئة الفرعية.
هل يمكن منع فئة ما من أن ترثها فئات أخرى؟
نعم، استخدم الكلمة الأساسية مختومة.
هل من الممكن السماح بوراثة فئة معينة، ولكن لا يسمح بتجاوز طريقة معينة فيها؟
نعم، قم بوضع علامة على هذا الفصل على أنه عام ووضع علامة على هذه الطريقة على أنها مختومة.
ما هي الطبقة المجردة؟
فئة لا يمكن إنشاء مثيل لها. تحتوي الفئات المجردة بشكل عام على طرق مجردة، ولكن بالطبع يمكن أن يكون لها أيضًا تطبيقات ملموسة. لا يمكن إنشاء مثيل للفئة الموروثة إلا بعد أن تنفذ جميع الأساليب المجردة للفئة المجردة.
متى يجب أن يتم إعلان الفصل مجردًا؟
عندما تحتوي هذه الفئة على أساليب مجردة، أو عندما لا يطبق الفصل الأساليب المجردة للفئة الأصلية بشكل كامل.
ما هي الواجهة؟
الفئات التي تحتوي على أساليب مجردة عامة فقط. يجب تنفيذ هذه الأساليب في الفئات الفرعية.
لماذا لا يمكنني تحديد معدّلات للطرق في الواجهة؟
تُستخدم الأساليب الموجودة في الواجهة لتحديد عقد الاتصال بين الكائنات، ومن غير المجدي تحديد الأساليب الموجودة في الواجهة على أنها خاصة أو محمية. إنهم افتراضيون للأساليب العامة.
هل يمكنني أن أرث واجهات متعددة؟
بالتأكيد.
فماذا لو كانت هناك أسماء طرق مكررة في هذه الواجهات؟
في هذه الحالة يمكنك أن تقرر كيفية تنفيذها. بالطبع عليك أن تكون حذرا للغاية. ولكن لا توجد مشكلة في عملية التجميع.
ما الفرق بين الواجهة والطبقة المجردة؟
يجب أن تكون كافة الأساليب في الواجهة مجردة، ولا يمكن تحديد معدّلات الوصول إلى الأسلوب. يمكن أن تحتوي الفئات المجردة على تطبيقات للطرق ويمكنها أيضًا تحديد معدلات الوصول للطرق.
كيفية التمييز بين الأساليب المثقلة؟
أنواع المعلمات المختلفة وأرقام المعلمات المختلفة وترتيب المعلمات المختلفة.
ما الفرق بين const و readonly؟
يتم استخدام الكلمة الأساسية const للإعلان عن ثوابت وقت الترجمة، ويتم استخدام الكلمة readonly للإعلان عن ثوابت وقت التشغيل.
ما الفرق بين System.String وSystem.StringBuilder؟
System.String هي سلسلة غير قابلة للتغيير. يقوم System.StringBuilder بتخزين سلسلة متغيرة ويوفر بعض الطرق لتعديل هذه السلسلة.
هذه المقالة مأخوذة من مدونة CSDN، يرجى الإشارة إلى المصدر عند إعادة الطباعة: http://blog.csdn.net/thy822/archive/2009/12/23/5060689.aspx.
-