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 Aloe y Aloe Vera

    Diferencia entre Aloe y Aloe Vera

    Diferencia clave: el aloe es un género de plantas en el Reino de Plantae que tiene más de 400 especies de plantas suculentas con flores. Aloe Vera es una de las especies más comunes de la planta de Aloe, que se cree que se origina en el norte de África. El aloe y el aloe vera son más comúnmente escuchados en las plantas; El aloe vera es una planta popular debido a sus usos médicos. Cuand
  • diferencia entre: Diferencia entre supermercado y tienda de descuento

    Diferencia entre supermercado y tienda de descuento

    Diferencia clave: Los supermercados son grandes tiendas de autoservicio que ofrecen a los clientes una variedad de alimentos y artículos para el hogar. La mercancía se organiza en un formato de pasillo organizado, donde cada pasillo está numerado o etiquetado y solo tiene productos similares colocados juntos. L
  • diferencia entre: Diferencia entre Spice Stellar Pinnacle Pro y Nokia Lumia 620

    Diferencia entre Spice Stellar Pinnacle Pro y Nokia Lumia 620

    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. Uno de l
  • diferencia entre: Diferencia entre Asus PadFone Infinity y iPhone 5

    Diferencia entre Asus PadFone Infinity y iPhone 5

    Diferencia clave: el teléfono inteligente Asus Padfone Infinity es un elegante multitáctil de 5 pulgadas, Full HD 1920x1080, Super IPS + con panel táctil capacitivo y ofrece una densidad de aproximadamente 441 ppp. El dispositivo es un teléfono de barra, con esquinas curvas que le dan un aspecto similar al 'iPhone' y al 'HTC One'. El
  • diferencia entre: Diferencia entre el código postal y el código PIN

    Diferencia entre el código postal y el código PIN

    Diferencia clave: Los códigos postales y los códigos PIN son dos sistemas de codificación postal diferentes que ayudan a reducir el área exacta donde se supone que se debe entregar el correo. Los códigos postales se utilizan en los EE. UU. Y los códigos PIN en la India. Los correos electrónicos y la mensajería instantánea han cambiado la forma en que nos comunicamos y han hecho que el correo postal descanse. Sin emb
  • diferencia entre: Diferencia entre Samsung Galaxy Mega 5.8 y Samsung Galaxy Mega 6.3

    Diferencia entre Samsung Galaxy Mega 5.8 y Samsung Galaxy Mega 6.3

    Diferencia clave: Samsung ahora ha ampliado sus ofertas en la categoría phablet al presentar el Samsung Galaxy Mega 5.8 y el Samsung Galaxy Mega 6.3. El Samsung Galaxy Mega 5.8 se llama así debido a su pantalla táctil capacitiva TFT de 5.8 pulgadas, con una resolución de 540 x 960 píxeles. El teléfono funciona con un procesador de doble núcleo a 1.4 GHz
  • diferencia entre: Diferencia entre el azúcar moreno y la melaza.

    Diferencia entre el azúcar moreno y la melaza.

    Diferencia clave: el azúcar es el nombre generalizado para las sustancias alimenticias de sabor dulce. La sacarosa, el azúcar de mesa, se extrae principalmente de la caña de azúcar o de la remolacha azucarera. Azúcar, está disponible en muchas formas en el mercado. La melaza es un subproducto del proceso de producción de azúcar; Sea de fibra de caña de azúcar, de remolacha o de uva. El azúca
  • diferencia entre: Diferencia entre el empirismo y el escepticismo.

    Diferencia entre el empirismo y el escepticismo.

    Diferencia clave: el empirismo y el escepticismo son dos conceptos diferentes que tienen que ver principalmente con la creencia. El empirismo se refiere al concepto de que el conocimiento proviene solo o principalmente de la experiencia sensorial. El escepticismo se refiere a alguien que duda de la autenticidad o veracidad de algo
  • diferencia entre: Diferencia entre música house y techno

    Diferencia entre música house y techno

    Key Difference: House es un género de música electrónica que se caracteriza por los ritmos 4/4, el bombo, los platillos fuera de ritmo y las líneas de bajo sintetizadas. La música parece ser una mezcla de música disco y electrónica. El techno, también un género de la música electrónica de baile, es similar a Dubstep. El techno

La Elección Del Editor

Diferencia entre el diario y el libro mayor

Diferencia clave: en términos de contabilidad, la principal diferencia entre los dos es que la revista actúa en el modo de entrada inicial para todas las transacciones. Las entradas se clasifican y se ingresan en el libro mayor. Juntos, la revista y el libro mayor ayudan a crear un sistema de registro de contabilidad de doble entrada.