Tabla de contenido:
Definición - ¿Qué significa sobrecarga?
La sobrecarga se refiere a la capacidad de usar un solo identificador para definir múltiples métodos de una clase que difieren en sus parámetros de entrada y salida. Los métodos sobrecargados se usan generalmente cuando ejecutan conceptualmente la misma tarea pero con un conjunto de parámetros ligeramente diferente.
La sobrecarga es un concepto utilizado para evitar el código redundante en el que se usa el mismo nombre de método varias veces pero con un conjunto diferente de parámetros. El método real que se llama durante el tiempo de ejecución se resuelve en tiempo de compilación, evitando así los errores de tiempo de ejecución. La sobrecarga proporciona claridad de código, elimina la complejidad y mejora el rendimiento del tiempo de ejecución.
Techopedia explica sobrecarga
La sobrecarga se usa en lenguajes de programación que imponen la verificación de tipo en las llamadas a funciones durante la compilación. Cuando un método se sobrecarga, el método elegido se seleccionará en tiempo de compilación. Esto no es lo mismo que las funciones virtuales donde el método se define en tiempo de ejecución.
A diferencia de Java, C # permite que los operadores se sobrecarguen, además de los métodos, al definir miembros estáticos con la palabra clave operador. Esta característica ayuda a extender y personalizar la semántica de los operadores relevantes para los tipos definidos por el usuario para que puedan usarse para manipular instancias de objetos con operadores.
La resolución de sobrecarga en C # es el método mediante el cual se selecciona la función correcta en función de los argumentos pasados y la lista de miembros de la función candidatos que tienen el mismo nombre. Los diferentes contextos en los que se utiliza la resolución de sobrecarga incluyen:
- Invocación de un método en una expresión
- Constructor durante la creación del objeto.
- Indizador de acceso a través de un elemento de acceso y una expresión de operador predefinida o definida por el usuario
Se recomienda evitar la sobrecarga a través de los límites de herencia porque puede causar confusión. La sobrecarga puede volverse engorrosa para los desarrolladores si se usa en exceso y con tipos definidos por el usuario como parámetros porque puede reducir la legibilidad y la facilidad de mantenimiento del código.
