Sobrecarga del método C#
Sobrecarga del método C#
En este artículo, aprenderá sobre la sobrecarga de métodos en C# con la ayuda de ejemplos.
En C#, puede haber dos o más métodos en una clase con el mismo nombre pero diferentes números, tipos y orden de parámetros, esto se denomina sobrecarga de métodos. Por ejemplo:
void display() { ... }
void display(int a) { ... }
float display(double a) { ... }
float display(int a, float b) { ... }
Aquí, la pantalla() el método está sobrecargado. Estos métodos tienen el mismo nombre pero aceptan diferentes argumentos.
Nota :Los tipos de devolución de los métodos anteriores no son los mismos. Esto se debe a que la sobrecarga de métodos no está asociada con los tipos de devolución. Los métodos sobrecargados pueden tener tipos de devolución iguales o diferentes, pero deben tener parámetros diferentes.
Podemos realizar la sobrecarga de métodos de las siguientes maneras:
1. Cambiando el número de parámetros
Podemos sobrecargar el método si el número de parámetros en los métodos es diferente.
void display(int a) {
...
}
...
void display(int a, int b) {
...
}
Aquí, tenemos dos métodos en una clase con el mismo nombre - display() . Es posible tener más de un método con el mismo nombre porque la cantidad de parámetros en los métodos es diferente. Por ejemplo,
using System;
namespace MethodOverload {
class Program {
// method with one parameter
void display(int a) {
Console.WriteLine("Arguments: " + a);
}
// method with two parameters
void display(int a, int b) {
Console.WriteLine("Arguments: " + a + " and " + b);
}
static void Main(string[] args) {
Program p1 = new Program();
p1.display(100);
p1.display(100, 200);
Console.ReadLine();
}
}
}
Salida
Arguments: 100 Arguments: 100 and 200
En el ejemplo anterior, hemos sobrecargado display() método:
- un método tiene un parámetro
- otro tiene dos parámetros
Según el número del argumento pasado durante la llamada al método, se llama al método correspondiente.
p1.display(100)
- llama al método con un solo parámetrop1.display(100, 200)
- llama al método con dos parámetros
2. Cambiando los tipos de datos de los parámetros
void display(int a) {
...
}
...
void display(string b) {
...
}
Aquí tenemos dos métodos - display() con el mismo número de parámetros. Es posible tener más de una display() método con el mismo número de parámetros porque el tipo de datos de los parámetros en los métodos es diferente. Por ejemplo,
using System;
namespace MethodOverload {
class Program {
// method with int parameter
void display(int a) {
Console.WriteLine("int type: " + a);
}
// method with string parameter
void display(string b) {
Console.WriteLine("string type: " + b);
}
static void Main(string[] args) {
Program p1 = new Program();
p1.display(100);
p1.display("Programiz");
Console.ReadLine();
}
}
}
Salida
int type: 100 string type: Programiz
En el programa anterior, hemos sobrecargado el display() método con diferentes tipos de parámetros.
Según el tipo de argumentos pasados durante la llamada al método, se llama al método correspondiente.
p1.display(100)
- método de llamadas conint
tipo de parámetrop1.display("Programiz")
- método de llamadas constring
tipo de parámetro
3. Cambiando el Orden de los parámetros
void display(int a, string b) {
...
}
...
void display(string b, int a) {
...
}
Aquí tenemos dos métodos - display() . Es posible tener más de una display() método con el mismo número y tipo de parámetro porque el orden del tipo de datos de los parámetros en los métodos es diferente. Por ejemplo,
using System;
namespace MethodOverload {
class Program {
// method with int and string parameters
void display(int a, string b) {
Console.WriteLine("int: " + a);
Console.WriteLine("string: " + b);
}
// method with string andint parameter
void display(string b, int a) {
Console.WriteLine("string: " + b);
Console.WriteLine("int: " + a);
}
static void Main(string[] args) {
Program p1 = new Program();
p1.display(100, "Programming");
p1.display("Programiz", 400);
Console.ReadLine();
}
}
}
Salida
int: 100 string: Programming string: Programiz int: 400
En el programa anterior, hemos sobrecargado el display() método con diferentes órdenes de parámetros.
Según el orden de los argumentos pasados durante la llamada al método, se llama al método correspondiente.
p1.display(100, "Programming")
- método de llamadas conint
ystring
parámetro respectivamentep1.display("Programiz", 400)
- método de llamadas constring
yint
parámetro respectivamente
Lenguaje C
- Clase y método abstractos de C#
- C# Clase parcial y método parcial
- Clase y método sellados de C#
- Sobrecarga del constructor de C#
- Sobrecarga del operador de Python
- Tarea Verilog
- Tareas de visualización de Verilog
- C# - Métodos
- C# - Sobrecarga de operadores
- C# - Métodos anónimos
- ¿Qué es el método 21 de la EPA?