base: Используется для доступа к публичным или защищённым членам базового класса в производных классах, но только в конструкторах, методах экземпляра и аксесорах свойств экземпляра. Конкретные особенности резюме в MSDN включают: (1) Вызвать метод, который был перезаписан другими методами базового класса. (2) Укажите базовый конструктор класса, который должен быть вызван при создании производного экземпляра класса. Base обычно используется для связи с базовым классом при инициализации производного класса. База имеет доступ к публичным и защищённым членам базового класса, а частные члены недоступны. В многоуровневом наследовании есть две ситуации, когда base может указывать на родительский класс: во-первых, при перегрузке base указывает на метод родительского класса, который напрямую наследует; При отсутствии перегрузки база может указывать на публичный или защищённый метод любого родителя-родителя.
this: Текущий экземпляр, используемый для ссылки на класс, а также унаследованные методы, обычно может скрыть это. Сводные функции MSDN в основном включают:
(1) Ограничить участников, скрытых под похожими именами (2) Передавать объект в виде параметра другим методам (3) Индексатор деклараций Это относится к самому объекту класса, который используется для доступа ко всем константам, полям, атрибутам и членам метода класса, независимо от уровня доступа к элементу доступа. Поскольку это ограничено только внутренней частью объекта и не видно снаружи, это и есть основная идея. Кроме того, статические элементы не являются частью объекта, поэтому их нельзя ссылаться в статических методах.
Общие правила:
1. Используйте базу и это как можно реже. Помимо предотвращения конфликтов имён подклассов и вызова других конструкторов в одном конструкторе, использование базы и этого может привести к нежелательным результатам. 2. Использование основания и этого в статических элементах запрещено. Причина в том, что базовый и этот доступ к обоим экземплярам классов, то есть объектам, тогда как статические члены могут быть доступны только классами, а не объектами. 3. Основание предназначено для достижения полиморфизма. 4. Используйте ключевые слова this или base, чтобы указать только один конструктор, что означает, что этот и база нельзя применять к конструктору одновременно. 5. Проще говоря, база используется для доступа к переписанным базовым классам в производном классе; Это, конечно, используется для доступа к членам этой категории, включая наследственную государственную собственность и защищённых членов. 6. Помимо базы, ещё один способ получить доступ к членам базового класса — конвертировать отображаемый тип. Просто метод не может быть статичным. |