¿Cómo lograr la sobrecarga de funciones en TypeScript?

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *