en C# En la programación orientada al objeto, generalmente se define en la clase base, y estos métodos se reescriben o se redefinen en la clase de derivados. Aunque las palabras clave "virtuales" y "nuevas" se pueden usar para modificar la declaración del método, tienen diferentes métodos de implementación.
rewriting
El método declarado en la clase base como "virtual", lo que indica que las subclases pueden reescribirse.
establezca un nuevo método del mismo nombre que el método de la Fundación China en la clase de derivados.
ocultar el método básico y crear una nueva implementación en la clase derivada.Base de clase pública {{ Public virtual bool dosomething () {return false;} } Clase pública derivada: base: base {{ Public Anule bool dosomething () {return true;} }
Si creamos una instancia derivada y la almacenamos en la variable de tipo base, la llamada para dosomething () llamará al método de reescribir en Derived:
public class Base
{
public virtual bool DoSomething() { return false; }
}
public class Derived : Base
{
public override bool DoSomething() { return true; }
}
clase pública derivada: base {{ NUEVO NUEVO BOOL BOOL DOSomething () {return true;} }
Base a = new Derived();
a.DoSomething(); // 返回 true
cuando reescribir virtual y nuevo
public class Derived : Base
{
public new bool DoSomething() { return true; }
}
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3