C# Konstrukteure
Konstrukteure
Ein Konstruktor ist eine spezielle Methode, die zum Initialisieren von Objekten verwendet wird. Der Vorteil eines Konstruktors besteht darin, dass er aufgerufen wird, wenn ein Objekt einer Klasse erstellt wird. Es kann verwendet werden, um Anfangswerte für Felder festzulegen:
Beispiel
Erstellen Sie einen Konstruktor:
// Erstellen Sie eine Car-Klasse
class Car
{
public string model; // Erstellen Sie ein Feld
// Erstellen Sie einen Klassenkonstruktor für die Car-Klasse
public Car()
{
model = "Mustang"; // Legen Sie den Anfangswert für das Modell fest
}
static void Main(string[] args)
{
Car Ford = new Car(); // Erstellen Sie ein Objekt der Car-Klasse (dadurch wird der Konstruktor aufgerufen)
Console.WriteLine(Ford.model); // Geben Sie den Wert des Modells aus
}
}
// Ausgänge "Mustang"
Beachten Sie, dass der Konstruktorname mit dem Klassennamen übereinstimmen sein muss und keinen Rückgabetyp haben darf (wie void
oder int
).
Beachten Sie außerdem, dass der Konstruktor aufgerufen wird, wenn das Objekt erstellt wird.
Alle Klassen verfügen standardmäßig über Konstruktoren: Wenn Sie selbst keinen Klassenkonstruktor erstellen, erstellt C# einen für Sie. Allerdings können Sie dann keine Anfangswerte für Felder festlegen.
Konstrukteure sparen Zeit! Schauen Sie sich das letzte Beispiel auf dieser Seite an, um wirklich zu verstehen, warum.
Konstruktorparameter
Konstruktoren können auch Parameter annehmen, die zum Initialisieren von Feldern verwendet werden.
Im folgenden Beispiel wird dem Konstruktor ein Parameter string modelName
hinzugefügt. Im Konstruktor setzen wir model
auf modelName
(model=modelName
). Wenn wir den Konstruktor aufrufen, übergeben wir einen Parameter an den Konstruktor ("Mustang"
), dadurch wird der Wert von model
auf gesetzt "Mustang"
:
Beispiel
class Car
{
public string model;
// Erstellen Sie einen Klassenkonstruktor mit einem Parameter
public Car(string modelName)
{
model = modelName;
}
static void Main(string[] args)
{
Car Ford = new Car("Mustang");
Console.WriteLine(Ford.model);
}
}
// Ausgänge "Mustang"
Sie können so viele Parameter haben, wie Sie möchten:
Beispiel
class Car
{
public string model;
public string color;
public int year;
// Erstellen Sie einen Klassenkonstruktor mit mehreren Parametern
public Car(string modelName, string modelColor, int modelYear)
{
model = modelName;
color = modelColor;
year = modelYear;
}
static void Main(string[] args)
{
Car Ford = new Car("Mustang", "Red", 1969);
Console.WriteLine(Ford.color + " " + Ford.year + " " + Ford.model);
}
}
// Ausgänge Red 1969 Mustang
Tipp: Genau wie andere Methoden können Konstruktoren durch die Verwendung einer unterschiedlichen Anzahl von Parametern überladen werden.
Konstrukteure sparen Zeit
Wenn Sie sich das Beispiel aus dem vorherigen Kapitel ansehen, werden Sie feststellen, dass Konstruktoren sehr nützlich sind, da sie dabei helfen, die Codemenge zu reduzieren:
Ohne Konstruktor:
prog.cs
class Program
{
static void Main(string[] args)
{
Car Ford = new Car();
Ford.model = "Mustang";
Ford.color = "red";
Ford.year = 1969;
Car Opel = new Car();
Opel.model = "Astra";
Opel.color = "white";
Opel.year = 2005;
Console.WriteLine(Ford.model);
Console.WriteLine(Opel.model);
}
}
Mit Konstruktor:
prog.cs
class Program
{
static void Main(string[] args)
{
Car Ford = new Car("Mustang", "Red", 1969);
Car Opel = new Car("Astra", "White", 2005);
Console.WriteLine(Ford.model);
Console.WriteLine(Opel.model);
}
}