base: Se utiliza para permitir el acceso a miembros públicos o protegidos de la clase base en clases derivadas, pero solo en constructores, métodos de instancia y accesorios de propiedades de instancia. Las características específicas del resumen en MSDN incluyen: (1) Llamar a un método que ha sido sobrescrito por otros métodos en la clase base. (2) Especificar el constructor de clase base que debe llamarse al crear una instancia de clase derivada. base se utiliza comúnmente para comunicarse con la clase base cuando se inicializa el objeto de clase derivada. La base puede acceder a miembros públicos y protegidos de la clase base, y los miembros privados no son accesibles. En la herencia multicapa, hay dos situaciones en las que la base puede apuntar a la clase madre: primero, cuando hay una sobrecarga, la base apuntará al método del miembro de la clase padre que hereda directamente; En ausencia de sobrecarga, la base puede señalar un método público o protegido de cualquier progenitor progenitor.
this: La instancia actual usada para referenciar la clase, también los métodos heredados, suelen ocultar esto. Las características resumidas en MSDN incluyen principalmente:
(1) Limitar a los miembros que están ocultos por nombres similares (2) Pasar el objeto como parámetro a otros métodos (3) Indexador de declaraciones Esto se refiere al propio objeto de clase, que se utiliza para acceder a todas las constantes, campos, atributos y miembros de método de la clase, independientemente del nivel de acceso del elemento de acceso. Como esto solo está limitado al interior del objeto y no puede verse fuera del objeto, esta es la idea básica de esto. Además, los elementos estáticos no forman parte del objeto, por lo que esto no puede referenciarse en métodos estáticos.
Reglas generales:
1. Usa la base y esto lo menos posible. Además de evitar conflictos entre los nombres de subclases y llamar a otros constructores en un mismo constructor, el uso de base y esto puede dar lugar a resultados no deseados. 2. No se permite el uso de base y esto en elementos estáticos. La razón es que base y this acceden a ambas instancias de clases, es decir, objetos, mientras que los miembros estáticos solo pueden ser accedidos por clases, no por objetos. 3. La base está diseñada para lograr polimorfismo. 4. Utilizar las palabras clave esta o base para especificar solo un constructor, lo que significa que este y base no pueden aplicarse a un constructor al mismo tiempo. 5. En términos simples, base se usa para acceder a los miembros reescritos de la clase base en la clase derivada; Esto se utiliza para acceder a los miembros de esta categoría, por supuesto, incluyendo la propiedad pública heredada y los miembros protegidos. 6. Además de base, otra forma de acceder a los miembros de la clase base es convertir el tipo mostrado. Simplemente, el método no puede ser estático. |