Diferencia entre el método virtual y el abstracto.

Diferencia clave: los métodos abstractos son los métodos que se declaran pero no tienen ninguna implementación. Los métodos virtuales se utilizan para una implementación del polimorfismo basado en tipos. La clase derivada tiene la flexibilidad de volver a implementar el método virtual de la clase base mediante el uso de la palabra clave 'sobrescribir'.

En C #, la palabra clave abstracta se puede utilizar tanto con clases como con métodos. Los métodos abstractos son aquellos que carecen de cualquier forma de implementación. Sin embargo, la lógica de implementación se obtiene mediante las clases no abstractas derivadas de ellas. Esto se logra anulando ese método. Debido a la ausencia de implementación real, el cuerpo del método permanece vacío. Es importante tener en cuenta que la declaración de un método abstracto solo es posible en una clase abstracta. Las clases que no se pueden inicializar se conocen como clases abstractas. Una clase que hereda de una clase abstracta debe implementar todos los métodos declarados como abstractos en la clase abstracta.

Por ejemplo -

clase abstracta pública exampleAbstractClass

{

resumen de vacío público exampleabstractMethod ();

vacío virtual público nonAbstractMethod ()

{

Console.WriteLine ("La implementación se define en el método");

}

clase normalNonAbstractClass: exampleAbstractClass

{

anulación pública void exampleabstractMethod ()

{

Console.WriteLine ("Sobrescribiendo el método de exploración de la clase exampleAbstractClass");

}

}

Virtual es también una palabra clave que está asociada con la modificación de un método, propiedad, indexador o declaración de evento. El uso de esta palabra clave permite la modificación de la entidad declarada en una clase derivada. En este ejemplo, la clase derivada ha anulado el método virtual declarado en la clase base.

clase base

{

Prueba de vacío virtual pública ()

{

Console.WriteLine ("Base.Test");

}

}

clase Derivado: Base

{

anulación pública de prueba de vacío ()

{

Console.WriteLine ("Derived.Test");

}

}

Los métodos virtuales se utilizan para una implementación del polimorfismo basado en tipos. La clase derivada tiene la flexibilidad de volver a implementar el método virtual de la clase base mediante el uso de la palabra clave de reemplazo. Tanto virtual como abstract no se pueden usar junto con modificadores estáticos o virtuales o de anulación.

Comparación entre el método virtual y el método abstracto:

Método virtual

Método abstracto

Definición

Los métodos virtuales se utilizan para una implementación del polimorfismo basado en tipos.

Los métodos abstractos son los métodos que se declaran pero no tienen ninguna implementación.

Implementación

Sí, puede tener implementación.

No, no puede tener ninguna implementación.

Necesita ser anulado

No obligatorio

Obligatorio

Palabra clave utilizada para distinguirla de otros tipos de métodos.

Virtual

Resumen

Clase

La clase que contiene el método virtual puede ser instanciada.

La clase que contiene el método abstracto no puede ser instanciada. Sólo se puede heredar.

Alcance

El alcance del método virtual solo para miembros.

Resumen del alcance del método a miembros y clases.

Método a ejecutar (tipo de clase base de objeto)

La implementación principal se llamará solo en el caso de que no se proporcione ninguna implementación en la clase concreta.

Implementación concreta

Método a ejecutar (tipo de clase objeto-concreto)

Implementación concreta

Implementación concreta

Recomendado

Artículos Relacionados

  • diferencia entre: Diferencia entre tentación y seducción.

    Diferencia entre tentación y seducción.

    Diferencia clave: Esencialmente, la principal diferencia entre las dos palabras es que la tentación es lo que la persona siente, mientras que la seducción es lo que hace la otra persona o cosa. Por ejemplo: la magdalena me estaba seduciendo con un olor fresco y tuve la tentación de comerla. Tentación y seducción son dos palabras que a menudo se usan indistintamente. Muc
  • diferencia entre: Diferencia entre hinchazón de ojos y bolsas de ojos

    Diferencia entre hinchazón de ojos y bolsas de ojos

    Diferencia clave: los términos son intercambiables y se pueden usar para referirse a la hinchazón debajo de los ojos. Sin embargo, en términos técnicos, hay una diferencia en la forma en que se utilizan los términos. Bolsas para los ojos se refiere a una ligera hinchazón o hinchazón leve. Por lo general, son visibles solo debajo de los ojos, pero también pueden estar presentes alrededor de los ojos. La hin
  • diferencia entre: Diferencia entre Navidad, Kwanza y Hannukah.

    Diferencia entre Navidad, Kwanza y Hannukah.

    Diferencia clave: la Navidad se celebra para conmemorar el nacimiento de Jesucristo, hijo de Dios. Kwanzaa es celebrado por los afroamericanos para mostrar unidad y luchar contra la opresión. Hanukkah es celebrada por los judíos para conmemorar la recuperación exitosa del Segundo Templo. El mes de diciembre es conocido por traer muchos días festivos diferentes, de los cuales Navidad, Hanukkah y Kwanza son los más conocidos popularmente. Sin
  • diferencia entre: Diferencia entre sartén y sartén

    Diferencia entre sartén y sartén

    Diferencia clave: una sartén para freír es una sartén que está optimizada para freír, mientras que una sartén para saltear está optimizada para saltear. Una sartén es una sartén de fondo plano que se utiliza para freír, dorar y dorar alimentos. Una sartén o sartén es una sartén de fondo plano que se utiliza para saltear verduras. Casi todos
  • diferencia entre: Diferencia entre Spice Stellar Pinnacle Pro y Samsung Galaxy Grand

    Diferencia entre Spice Stellar Pinnacle Pro y Samsung Galaxy Grand

    Diferencia clave: el Spice Stellar Pinnacle Pro Mi-535 es un teléfono de cuatro núcleos de presupuesto de rango medio con una velocidad de 1.2 GHz. Funciona con Android 4.2 Jelly Bean y funciona con 1 GB de RAM. El teléfono cuenta con una cámara de 8 MP con enfoque automático y flash LED. El teléfono también cuenta con una cámara secundaria de gran angular frontal de 5 MP, también con enfoque automático. Samsung
  • diferencia entre: Diferencia entre semana y debilidad.

    Diferencia entre semana y debilidad.

    Diferencia clave: las palabras, semana y débil son homónimos, es decir, palabras que tienen la misma pronunciación pero significados diferentes. Una semana se refiere a un período de siete días, generalmente desde el domingo hasta el sábado. Débil se usa para describir algo o alguien que carece de la fuerza para lograr algo o para completar una tarea determinada. Los i
  • diferencia entre: Diferencia entre planetas enanos y plutoides

    Diferencia entre planetas enanos y plutoides

    Diferencia clave: Un planeta enano es "un cuerpo celeste en órbita directa del Sol que es lo suficientemente masivo como para que su forma sea controlada por la gravitación, pero que a diferencia de un planeta no ha limpiado su región orbital de otros objetos". Un plutoide es un Planeta enano transneptuniano. L
  • diferencia entre: Diferencia entre Compartir y Stock

    Diferencia entre Compartir y Stock

    Diferencia clave: la compra de la propiedad de una empresa se conoce como stock. Las acciones son una unidad de medida, que permite al inversionista comprar acciones. Muchas veces, se pueden usar indistintamente. Los términos participación y acciones a menudo se usan indistintamente en el mercado financiero.
  • diferencia entre: Diferencia entre causalidad y correlación

    Diferencia entre causalidad y correlación

    Diferencia clave: la correlación es la medida de la relación que ocurre entre dos cosas. Por otro lado, la causalidad significa que una cosa causará la otra. La causalidad también puede denominarse como característica causa-efecto. La correlación ocurre cuando dos o más cosas o eventos ocurren al mismo tiempo. Puede

La Elección Del Editor

Diferencia entre Alcatel One Touch Idol y Karbonn Titanium S5

Diferencia clave: Alcatel One Touch Idol es el socio móvil oficial de la película Iron Man 3. Cuenta con una pantalla táctil capacitiva IPS LCD de 4.7 pulgadas con 16 millones de colores. La pantalla tiene una resolución de 540 x 960 píxeles. El teléfono está alimentado por un MediaTek MTK 6577+ de doble núcleo de 1 GHz y 512 MB de RAM. El Kar