Diferencia entre anular y sobrecargar en C#

Diferencia entre anular y sobrecargar en C#

Diferencia de clave: primordial vs Sobrecarga Cª#
 

El diferencia clave entre anular y sobrecargar en C# es que La vinculación de la llamada del método anulado a su definición ocurre en tiempo de ejecución, mientras que el enlace de la llamada de método sobrecargado a su definición ocurre en el momento de la compilación.

C# es un lenguaje de programación de uso general desarrollado por Microsoft. La principal ventaja de C# es que admite la programación orientada a objetos (OOP). Un pilar de OOP es el polimorfismo. Da un objeto para tener múltiples comportamientos. Hay dos tipos en polimorfismo conocidos como anulaciones y sobrecarga. Este artículo analiza la diferencia entre el método anular y sobrecargar en C#.

CONTENIDO

1. Descripción general y diferencia de claves
2. ¿Qué está anulando en C#?
3. ¿Qué está sobrecargando en C#?
4. Similitudes entre anular y sobrecargar en C#
5. Comparación de lado a lado: anulación frente a sobrecarga en C# en forma tabular
6. Resumen

¿Qué está anulando en C#??

Hay un concepto importante en OOP es la herencia. Es usar atributos y métodos de la clase ya existente. Mejora la reutilización del código. La clase ya existente es la clase base, y la nueva clase se conoce como la clase derivada. Al anular el polimorfismo, debe haber una clase base y una clase derivada. La unión de la llamada del método anulado a la definición ocurre en tiempo de ejecución. Un ejemplo es el siguiente.

Figura 01: programa C# con primaria

Según el programa anterior, la forma de la clase es la clase base, y contiene el método de visualización. El rectángulo de la clase y el triángulo son clases derivadas. Estas clases derivadas también tienen la misma pantalla de método con sus propias implementaciones.

Primero, se crea la variable de referencia OBJ. Apunta al objeto de forma. Entonces, el método de visualización de la clase de forma se ejecutará. Luego, la variable de referencia apunta al objeto rectángulo. Entonces, el método de visualización de la clase rectángulo se ejecutará. Finalmente, la variable de referencia apunta al objeto Triangle. Entonces, el método de visualización de la clase Triangle se ejecutará. El método de visualización de la clase base se anula por los métodos de visualización de las clases derivadas.

El método para ejecutar se decide en tiempo de ejecución. La clase de forma está escrita con palabra clave 'virtual'. Las clases de rectángulo y triángulo están escritas con palabra clave 'anular'. Si no se utilizan estas palabras clave, la salida imprimirá el contenido del método de visualización de la clase de forma para todos.

¿Qué está sobrecargando en C#??

En la sobrecarga, múltiples métodos tienen el mismo nombre pero con diferentes parámetros. Los parámetros pueden ser de diferentes tipos. Los métodos también pueden tener un número diferente de parámetros. La sobrecarga de métodos ocurre en la misma clase. La unión de métodos sobrecargados a la definición ocurre en el momento de la compilación.  Consulte el siguiente programa C#.

Figura 02: programa C# con sobrecarga

Según el programa anterior, la Clase A tiene dos métodos con el mismo nombre llamado Sum. Tienen diferentes tipos de parámetros. En el programa principal, se crea un objeto de A. La suma (2,3) invocará el método de suma con enteros. La suma (5.1, 7.94) invocará el método de suma con valores dobles. Ambos métodos tienen el mismo nombre y el mismo número de parámetros. Pero los tipos de parámetros son diferentes. El método requerido se llama en consecuencia. La sobrecarga también puede ocurrir si los nombres de los métodos y los tipos de parámetros son los mismos, pero el número de parámetros es diferente.

¿Cuál es la similitud entre anular y sobrecargar en C#??

  • Tanto la anulación como la sobrecarga en C# son tipos de polimorfismo.

¿Cuál es la diferencia entre anular y sobrecargar en C#??

Anular vs sobrecarga en C#

La anulación en C# es proporcionar una implementación específica en un método de clase derivado para un método que ya existe en la clase base. La sobrecarga en C# es crear múltiples métodos con el mismo nombre con diferentes implementaciones.
 Parámetros
Al anular de C#, los métodos tienen el mismo nombre, los mismos tipos de parámetros y un mismo número de parámetros. En la sobrecarga de C#, los métodos tienen el mismo nombre pero un número diferente de parámetros o un tipo diferente de parámetros.
Ocurrencia
En C#, la prima se produce dentro de la clase base y la clase derivada. En C#, la sobrecarga se produce dentro de la misma clase.
 Tiempo vinculante
La unión de la llamada de método anulado a su definición ocurre en tiempo de ejecución. La unión de la llamada de método sobrecargado a su definición ocurre en el momento de la compilación.
Sinónimos
Anular se llama como polimorfismo de tiempo de ejecución, polimorfismo dinámico o Atención tardía. La sobrecarga se llama como compilar el polimorfismo de tiempo, polimorfismo estático o Fiesta temprana.

Resumen - Primordial vs Sobrecarga Cª#

Anular y sobrecargar son dos tipos de polimorfismo. La diferencia entre anular y sobrecargar en C# es que el enlace de la llamada del método anulado a su definición ocurre en tiempo de ejecución, mientras que la unión del método sobrecargado se produce a su definición en el momento de la compilación.

Referencia:

1.Kumar, Mukesh. C# esquina. Disponible aquí
2.punto de tutorial.comunicarse. "C# polimorfismo."TutorialSpointDisponible aquí
3.punto de tutorial.comunicarse. "Tipos de datos de C#."TutorialSpoint, disponible aquí