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 HTML y texto

    Diferencia entre HTML y texto

    Diferencia clave: HTML significa lenguaje de marcado de hipertexto. Es un conocido lenguaje de marcado utilizado para desarrollar páginas web. Ha existido por mucho tiempo y se usa comúnmente en el diseño de páginas web. El texto simple, por otro lado, es el contenido intercambiable básico del texto. Es
  • diferencia entre: Diferencia entre sarcoma y carcinoma.

    Diferencia entre sarcoma y carcinoma.

    Diferencia clave: el sarcoma y el carcinoma son ambos tipos de cáncer o tumores malignos. Los sarcomas crecen en los tejidos conectivos y los huesos, mientras que el carcinoma comienza en la superficie o el revestimiento de un órgano del cuerpo. Ambos crecen y se propagan de manera diferente. Los sarcomas son un grupo heterogéneo de tumores malignos que surgen en tejidos blandos y huesos. G
  • diferencia entre: Diferencia entre la escuela secundaria y la universidad

    Diferencia entre la escuela secundaria y la universidad

    Diferencia clave: la escuela secundaria es una institución que generalmente ofrece la segunda parte de la educación básica de los niños. Después de la escuela secundaria y la escuela secundaria, algunas personas pueden optar por asistir a la universidad, que se especializa en la educación basada en el grado o curso que el estudiante ha elegido para estudiar. La e
  • diferencia entre: Diferencia entre diccionario y tesauro

    Diferencia entre diccionario y tesauro

    Diferencia clave: Diccionario es una colección de palabras que enumera las palabras y sus significados. Por otro lado, tesauro es una colección de palabras agrupadas en función de la similitud en sus significados (sinónimos). Un diccionario es una herramienta muy importante para aprender o entender un idioma. Co
  • diferencia entre: Diferencia entre diarrea y disentería.

    Diferencia entre diarrea y disentería.

    Diferencia clave: la diarrea y la disentería son dos afecciones diferentes que tienen síntomas similares. La diarrea, también conocida como diarrea, es cuando una persona tiene al menos 3 o más deposiciones sueltas en un día. La disentería, por otro lado, es una infección grave en el intestino, especialmente en el colon que causa diarrea. La di
  • diferencia entre: Diferencia entre iPhone 6 y Sony Xperia Z2

    Diferencia entre iPhone 6 y Sony Xperia Z2

    Diferencia clave: tanto el iPhone 6 como el Sony Xperia Z2 son la última versión de los teléfonos insignia de Apple y Sony, respectivamente. El Xperia Z2 es resistente al polvo y al agua. Tiene una clasificación IP58, lo que significa que puede sumergirse en 3.3 pies de agua por hasta 30 minutos. Ha
  • diferencia entre: Diferencia entre Google Play Store y Apple App Store

    Diferencia entre Google Play Store y Apple App Store

    Diferencia clave: Play Store y App Store son dos tipos diferentes de plataformas de distribución digital. Aparte de la gran diferencia, que Play Store se ejecuta en el Android de Google, que la App Store se ejecuta en el iOS de Apple, solo existen otras micro diferencias. La Play Store y la App Store son dos tipos diferentes de plataformas de distribución digital que tienen el mismo propósito; Se pueden usar para comprar contenido digital como aplicaciones, juegos, películas, libros, revistas, etc. La
  • diferencia entre: Diferencia entre seminario y conferencia.

    Diferencia entre seminario y conferencia.

    Diferencia clave: una conferencia es cuando un profesor o profesor se para en frente de una clase grande y solo da la información que los alumnos necesitan. Un seminario, por otro lado, es una lección más orientada a la discusión. Los seminarios y conferencias son formas de educación que tienen lugar en la universidad y en ocasiones incluso después. Esen
  • diferencia entre: Diferencia entre GIF y TIFF

    Diferencia entre GIF y TIFF

    Diferencia clave: GIF significa Graphics Interchange Format. El nombre de archivo utilizado para un archivo GIF es .gif o .GIF. GIF es un formato de gráficos raster, utilizado principalmente para imágenes gráficas. TIF y TIFF son extensiones de nombre de archivo utilizadas para el Formato de archivo de imagen etiquetado. E

La Elección Del Editor

Diferencia entre CTC y ECTC

Diferencia clave: CTC significa Costo para la Compañía. Básicamente, encapsula el paquete salarial de un empleado. Sin embargo, es mucho más que el salario tradicional. El CTC es la cantidad total de gastos que un empleador está gastando para un empleado en un año. ECTC significa Costo Esperado para la Compañía. La ECT