Definición: ¿Qué significa sobrecarga?
La sobrecarga se refiere a la capacidad de utilizar un único identificador para definir varios métodos de una clase que difieren en sus parámetros de entrada y salida. Los métodos sobrecargados se utilizan generalmente cuando ejecutan conceptualmente la misma tarea pero con un conjunto de parámetros ligeramente diferente.
La sobrecarga es un concepto que se utiliza para evitar el código redundante en el que se utiliza el mismo nombre de método varias veces pero con un conjunto de parámetros diferente. El método real que se llama durante el tiempo de ejecución se resuelve en el tiempo de compilación, evitando así errores en tiempo de ejecución. La sobrecarga proporciona claridad al código, elimina la complejidad y mejora el rendimiento en tiempo de ejecución.
Techinfo explica la sobrecarga
La sobrecarga se utiliza en lenguajes de programación que imponen la verificación de tipos en las llamadas a funciones durante la compilación. Cuando un método está sobrecargado, el método elegido se seleccionará en el momento de la compilación. 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 mediante la palabra clave operator. Esta función ayuda a ampliar 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 sobre la base de los argumentos pasados y la lista de miembros de 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 de objetos
- Accessor indexador a través de un acceso a elementos 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 capacidad de mantenimiento del código.