Overbelasting van C#-methode
C#-methode overbelasten
In dit artikel leer je aan de hand van voorbeelden over methode-overloading in C#.
In C# kunnen er twee of meer methoden in een klasse zijn met dezelfde naam, maar met verschillende getallen, typen en volgorde van parameters. Dit wordt overbelasting van de methode genoemd. Bijvoorbeeld:
void display() { ... }
void display(int a) { ... }
float display(double a) { ... }
float display(int a, float b) { ... }
Hier, de display() methode is overbelast. Deze methoden hebben dezelfde naam maar accepteren verschillende argumenten.
Opmerking :De retourtypen van de bovenstaande methoden zijn niet hetzelfde. Het is omdat overbelasting van methoden niet wordt geassocieerd met retourtypen. Overbelaste methoden kunnen hetzelfde of verschillende retourtypes hebben, maar ze moeten verschillende parameters hebben.
We kunnen methode-overbelasting op de volgende manieren uitvoeren:
1. Door het aantal parameters te wijzigen
We kunnen de methode overbelasten als het aantal parameters in de methoden anders is.
void display(int a) {
...
}
...
void display(int a, int b) {
...
}
Hier hebben we twee methoden in een klasse met dezelfde naam - display() . Het is mogelijk om meer dan één methode met dezelfde naam te hebben, omdat het aantal parameters in methoden verschillend is. Bijvoorbeeld,
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();
}
}
}
Uitvoer
Arguments: 100 Arguments: 100 and 200
In het bovenstaande voorbeeld hebben we de display() . overbelast methode:
- één methode heeft één parameter
- een andere heeft twee parameters
Op basis van het nummer van het argument dat tijdens de methodeaanroep is doorgegeven, wordt de bijbehorende methode aangeroepen.
p1.display(100)
- roept de methode aan met een enkele parameterp1.display(100, 200)
- roept de methode aan met twee parameters
2. Door de gegevenstypen van de parameters te wijzigen
void display(int a) {
...
}
...
void display(string b) {
...
}
Hier hebben we twee methoden - display() met hetzelfde aantal parameters. Het is mogelijk om meer dan één display() . te hebben methode met hetzelfde aantal parameters omdat het gegevenstype van parameters in methoden anders is. Bijvoorbeeld,
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();
}
}
}
Uitvoer
int type: 100 string type: Programiz
In het bovenstaande programma hebben we de display() . overbelast methode met verschillende soorten parameters.
Op basis van het type argumenten dat tijdens de methodeaanroep wordt doorgegeven, wordt de bijbehorende methode aangeroepen.
p1.display(100)
- oproepmethode metint
type parameterp1.display("Programiz")
- oproepmethode metstring
type parameter
3. Door de volgorde van de parameters te wijzigen
void display(int a, string b) {
...
}
...
void display(string b, int a) {
...
}
Hier hebben we twee methoden - display() . Het is mogelijk om meer dan één display() . te hebben methode met hetzelfde nummer en type parameter omdat de volgorde van het gegevenstype van parameters in methoden anders is. Bijvoorbeeld,
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();
}
}
}
Uitvoer
int: 100 string: Programming string: Programiz int: 400
In het bovenstaande programma hebben we de display() . overbelast methode met verschillende volgordes van parameters.
Op basis van de volgorde van de argumenten die tijdens de methodeaanroep zijn doorgegeven, wordt de bijbehorende methode aangeroepen.
p1.display(100, "Programming")
- oproepmethode metint
enstring
parameter respectievelijkp1.display("Programiz", 400)
- oproepmethode metstring
enint
parameter respectievelijk
C Taal
- C# abstracte klasse en methode
- C# Gedeeltelijke klasse en gedeeltelijke methode
- C# verzegelde klasse en methode
- C# Constructor Overbelasting
- Overbelasting van Python-operator
- Verilog-taak
- Verilog-weergavetaken
- C# - Methoden
- C# - Overbelasting van de operator
- C# - Anonieme methoden
- Wat is EPA-methode 21?