base: Використовується для надання доступу до публічних або захищених членів базового класу в похідних класах, але лише в конструкторах, методах екземплярів та аксесорах властивостей екземпляра. Конкретні особливості резюме в MSDN включають: (1) Викликати метод, який був перезаписаний іншими методами базового класу. (2) Вкажіть базовий конструктор класу, який слід викликати при створенні екземпляра похідного класу. base зазвичай використовується для зв'язку з базовим класом при ініціалізації похідного класу. База має доступ до публічних і захищених членів базового класу, а приватні члени не є доступними. У багатошаровому успадкуванні є дві ситуації, коли base може вказувати на батьківський клас: по-перше, при перевантаженні base вказує на метод члена батьківського класу, який безпосередньо успадковує; За відсутності перевантаження база може вказувати на публічний або захищений метод будь-якого батьківського партнера.
this: Поточний екземпляр, що використовується для посилання на клас, а також успадковані методи, зазвичай може приховати це. Підсумкові функції MSDN в основному включають:
(1) Обмежити учасників, прихованих під подібними іменами (2) Передати об'єкт як параметр іншим методам (3) Індексер декларацій Це стосується самого об'єкта класу, який використовується для доступу до всіх констант, полів, атрибутів і членів методу класу, незалежно від рівня доступу до елемента доступу. Оскільки це обмежується лише внутрішньою частиною об'єкта і не може бути видно поза об'єктом, це основна ідея. Також статичні елементи не є частиною об'єкта, тому їх не можна посилатися у статичних методах.
Загальні правила:
1. Використовуйте базу і це якомога рідше. Окрім уникнення конфліктів імен підкласів і виклику інших конструкторів в одному конструкторі, використання бази та цього може призвести до небажаних результатів. 2. Використання бази і цього у статичних елементах не дозволяється. Причина в тому, що базовий і цей доступ до обох екземплярів класів, тобто об'єктів, тоді як статичні члени можуть бути доступні лише класами, а не об'єктами. 3. База розроблена для досягнення поліморфізму. 4. Використовуйте ключові слова this або base, щоб вказати лише один конструктор, тобто цей і база не можуть бути застосовані до конструктора одночасно. 5. Простими словами, база використовується для доступу до переписаних базових класів у похідному класі; Звісно, це використовується для доступу до членів цієї категорії, включно з успадкованою публічною власністю та захищеними членами. 6. Окрім бази, ще одним способом доступу до членів базового класу є конвертація відображеного типу. Просто метод не може бути статичним. |