Diferencia entre la sobrecarga de métodos y la anulación

Diferencia entre la sobrecarga de métodos y la anulación

Sobrecarga de métodos

La sobrecarga del método, también conocida como polimorfismo de tiempo de sobrecarga de funciones o compilación, es un concepto de tener dos o más métodos con el mismo nombre pero una firma diferente en el mismo alcance. Hay muchos lenguajes de programación que admiten esta característica: ADA, C ++, C#, D y Java.

Ejemplo de sobrecarga de métodos en C#
Como se muestra en el ejemplo anterior, el método 'polígono' se sobrecarga 3 veces con una firma de método diferente, I.e El tipo o el número de parámetros son diferentes.

Método primordial

La anulación del método, también conocida como polimorfismo de tiempo de ejecución o tiempo de ejecución, es una característica de OOP que permite que una clase infantil proporcione su propia implementación al método definido en la clase principal. La implementación en la clase infantil anula la definición del método en la clase base, siempre que el método en la clase infantil debe tener el mismo nombre, firma y tipo de retorno.

Ejemplo de método anular en C#
Aquí, el método de dibujo en la clase Source2 anula el método de dibujo definido en la clase Source1.

Diferencia entre la sobrecarga del método y la anulación del método

  1. En el método, la sobrecarga de los métodos debe tener una firma diferente. En el método, los métodos primordiales deben tener la misma firma.
  2. La sobrecarga de funciones es "agregar" o "extender" más al comportamiento del método. La anulación de la función es "cambiar" o "redefinir" el comportamiento de un método.
  3. La sobrecarga de métodos se utiliza para lograr el polimorfismo de tiempo de compilación; El anulación de métodos se utiliza para lograr el polimorfismo en tiempo de ejecución.
  4. En el compilador de sobrecarga de método/función sabe qué objeto asignado a qué clase en el momento de la compilación, pero en el método anular esta información no se conoce hasta el tiempo de ejecución.
  5. La sobrecarga de funciones se lleva a cabo en la misma clase, mientras que la prima se lleva a cabo en una clase derivada de una clase base.