En este artículo, intentaremos comprender algunos detalles básicos que están asociados con el concepto de sobrecarga de funciones/métodos; además, veremos cómo podemos implementar la sobrecarga de funciones en TypeScript.
Primero comprendamos algunos hechos básicos involucrados en la sobrecarga de funciones/métodos.
Sobrecarga de función/método:
- La sobrecarga de métodos es el proceso en el que un método podría usarse varias veces con el mismo nombre y diferentes tipos de parámetros o tipos de devolución.
- El nombre de la función y el número de parámetros en las funciones sobrecargadas deben ser los mismos.
- El tipo de retorno de las funciones sobrecargadas junto con los tipos de datos de los parámetros podrían modificarse (cambiarse).
- La sobrecarga de métodos proporciona reutilización de código, lo que ahorra tiempo y esfuerzo.
- Este proceso también ahorra espacio en la memoria, por lo que la ejecución del programa se vuelve un poco más rápida.
- Este proceso también aumenta la legibilidad del código.
Después de analizar algunos de los aspectos teóricos básicos relacionados con la sobrecarga de métodos, analicemos su implementación en TypeScript a través de los siguientes ejemplos de código.
Ejemplo 1: En este ejemplo crearemos varias funciones (del mismo nombre, pero diferentes tipos de datos de parámetros y tipo de retorno de la función) a través de las cuales agregaremos varios datos pasados por el usuario de diferentes tipos de datos.
Javascript
function addData(data1 : string, data2 : string) : string; function addData(data1 : number, data2 : number): number; function addData(data1 : any, data2 : any){ return data1+ data2; } console.log(addData("Hello ", "GeeksforGeeks")); console.log(addData(20, 30));
Producción:
Hello GeeksforGeeks 50
Ejemplo 2: En este ejemplo, implementaremos la sobrecarga de funciones en una clase que contiene diferentes métodos del mismo nombre y diferentes tipos de datos de parámetros y tipos de devolución de métodos y, además, usaremos estos métodos para imprimir nuestros datos de una manera diferente.
Javascript
class Data { public displayData(data: string): number; public displayData(data: number): string; public displayData(data : any): any { if (typeof(data) === 'number') return data.toString(); if (typeof(data) === 'string') return data.length; } } let object = new Data(); console.log("Result is : " + object.displayData(123456)); let stringData = "GeeksforGeeks"; console.log("Length of String " + stringData + " is : " + object.displayData(stringData));
Producción:
Result is : 123456 Length of String GeeksforGeeks is : 13
Publicación traducida automáticamente
Artículo escrito por amansingla y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA