C# Constructor Overbelasting
C# Constructor Overbelasting
In dit artikel leer je aan de hand van voorbeelden over constructor overloading in C#.
In C# kunnen we, net als bij methode-overloading, constructors ook overbelasten. Voor overbelasting van constructeurs moeten er twee of meer constructeurs zijn met dezelfde naam, maar verschillend
- aantal parameters
- type parameters
- volgorde van parameters
Voordat u meer te weten komt over overbelasting van constructors, moet u eerst meer weten over C#-constructors.
We kunnen constructor overloading op de volgende manieren uitvoeren:
1. Ander aantal parameters
We kunnen de constructor overbelasten als het aantal parameters in een constructor verschillend is.
class Car {
Car() {
...
}
Car(string brand) {
...
}
Car(string brand, int price) {
...
}
}
Hier hebben we drie constructeurs in de klasse Auto . Het is mogelijk om meer dan één constructor te hebben omdat het aantal parameters in constructors verschillend is.
Merk op dat,
Car() { }
- heeft geen parameterCar(string brand) { }
- heeft één parameterCar(string brand, int price) { }
- heeft twee parameters
Voorbeeld:Overbelasting van constructor met verschillend aantal parameters
using System;
namespace ConstructorOverload {
class Car {
// constructor with no parameter
Car() {
Console.WriteLine("Car constructor");
}
// constructor with one parameter
Car(string brand) {
Console.WriteLine("Car constructor with one parameter");
Console.WriteLine("Brand: " + brand);
}
static void Main(string[] args) {
// call with no parameter
Car car = new Car();
Console.WriteLine();
// call with one parameter
Car car2 = new Car("Bugatti");
Console.ReadLine();
}
}
}
Uitvoer
Car constructor Car constructor with one parameter Brand: Bugatti
In het bovenstaande voorbeeld hebben we de Auto . overbelast constructeur:
- één constructor heeft één parameter
- een andere heeft twee parameters
Op basis van het nummer van het argument dat is doorgegeven tijdens de constructor-aanroep, wordt de corresponderende constructor aangeroepen.
Hier,
- Object auto - roept constructor aan met één parameter
- Object car2 - roept constructor aan met twee parameters
2. Verschillende soorten parameters
class Car {
Car(string brand) {
...
}
Car(int price) {
...
}
}
Hier hebben we twee Auto constructeurs met hetzelfde aantal parameters. We kunnen constructors maken met dezelfde parameters omdat het gegevenstype binnen de parameters anders is.
Merk op dat,
Car(string brand) { }
- heeft parameter vanstring
typCar(int price) { }
- heeft parameter vanint
typ
Voorbeeld:Constructor overbelasting met verschillende soorten parameters
using System;
namespace ConstructorOverload {
class Car {
// constructor with string parameter
Car(string brand) {
Console.WriteLine("Brand: " + brand);
}
// constructor with int parameter
Car(int price) {
Console.WriteLine("Price: " + price);
}
static void Main(string[] args) {
// call constructor with string parameter
Car car = new Car("Lamborghini");
Console.WriteLine();
// call constructor with int parameter
Car car2 =new Car(50000);
Console.ReadLine();
}
}
}
Uitvoer
Brand: Lamborghini Price: 50000
In het bovenstaande programma hebben we de constructor overladen met verschillende soorten parameters.
Hier,
- Object auto - roept constructor aan met
string
type parameter - Object car2 - roept constructor aan met
int
type parameter
3. Andere volgorde van parameters
Car {
Car(string brand, int price) {
...
}
Car(int speed, string color) {
...
}
}
Hier hebben we twee constructors met hetzelfde aantal parameters. Dit is mogelijk omdat de volgorde van het gegevenstype in parameters anders is.
Merk op dat,
Car(string brand, int price) { }
-string
gegevenstype komt vóórint
Car(int speed, string color) { }
-int
gegevenstype komt voorstring
Voorbeeld:Constructor overbelasting met verschillende volgorde van parameters
using System;
namespace ConstructorOverload {
class Car {
// constructor with string and int parameter
Car(string brand, int price) {
Console.WriteLine("Brand: " + brand);
Console.WriteLine("Price: " + price);
}
// constructor with int and string parameter
Car(int speed, string color) {
Console.WriteLine("Speed: " + speed + " km/hr");
Console.WriteLine("Color: " + color);
}
static void Main(string[] args) {
// call constructor with string and int parameter
Car car = new Car("Bugatti", 50000);
Console.WriteLine();
// call constructor with int and string parameter
Car car2 =new Car(60, "Red");
Console.ReadLine();
}
}
}
Uitvoer
Brand: Bugatti Price: 50000 Speed: 60 km/hr Color: Red
In het bovenstaande programma hebben we de constructeurs overladen met verschillende volgordes van parameters.
Hier,
- Object auto - roept constructor aan met
string
enint
parameter respectievelijk - Object car2 - roept constructor aan met
int
enstring
parameter respectievelijk
C Taal
- C# Constructor
- C# geneste klasse
- Overbelasting van C#-methode
- Overbelasting van Python-operator
- Java-constructeurs
- Java enum Constructor
- Wat is koelvloeistof voor auto's?
- Overbelasting van C++-operator met voorbeelden
- Constructoroverbelasting in Java:wat is en programmavoorbeelden
- Java - Constructeurs
- C++ overbelasting (operator en functie)