Erstellung und Verwendung eines Konstruktors in CSharp
- Home
- Tutorials
- C
- Der Ultimative C# Kurs - Hier wirst Du zum CSharp Pro
- Erstellung und Verwendung eines Konstruktors in CSharp
Dieses Video ist nicht verfügbar
Dieses Video steht nur eingeschriebenen Nutzern zur Verfügung.
Jetzt Kurs kaufenWie du sicher schon festgestellt hast, müssen wir unbedingt die Erstellung und Verwendung eines Konstruktors in CSharp lernen um etwas mit Klassen anfangen zu können.
Was macht der Konstruktor überhaupt?
Der Konstruktor ermöglicht es uns einem Objekt gewisse Eigenschaften zu geben, wenn wir dieses Anlegen. Im konkreten Beispiel aus dem letzten Artikel, hatten wir ja die Eigenschaften, vorname, name, alter und augenfarbe. Wenn wir nun alle vier für jedes Objekt vom Typen Mensch als Pflichtangabe haben wollen, dann benötigten wir einen Konstruktor, der mit diesen Variablen etwas anfangen kann.
Man kann sich den Konstruktor wie eine Funktion vorstellen, die für unser Objekt, die Attribute festlegt.
Am besten wir schauen uns das am Beispiel an:
Beispiel für die Erstellung und Verwendung eines Konstruktors in CSharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Panjutorials
{
class Mensch
{
// das sind die Attribute der Klasse Mensch
int alter;
string vorname, nachname, augenfarbe;
// Der Konstruktor hat den Selben namen wie die Klasse
// er besitzt keinen Rückgabewert
public Mensch(int dasAlter, string derVorname, string derNachname, string dieAugenfarbe)
{
alter = dasAlter;
vorname = derVorname;
nachname = derNachname;
augenfarbe = dieAugenfarbe;
}
// das ist ein Beispiel für eine Aktion
public void sichVorstellen()
{
Console.WriteLine("Ich heiße " + vorname + " " + nachname + " und bin " + alter + " Jahre alt " +
"und meine Augen sind " + augenfarbe + ".");
//Console.Read();
}
}
}
Du siehst also, das der Konstruktor exakt den selben Namen hat wie die Klasse, also auch groß geschrieben.
Man beachte, ich habe Console.Read(); ausgeklammert, um es in der Program.cs aufzurufen, um alle Einträge auszugeben.
Wenn wir nun ein Objekt von unserer Klasse Mensch innerhalb unserer Hauptklasse anlegen wollen, dann sieht das so aus:
class Program
{
static void Main(string[] args)
{
// Anlegen von Objekten der Klasse Mensch
Mensch denis = new Mensch(28, "Denis", "Panjuta", "Grün");
Mensch michi = new Mensch(35, "Michael", "Müller", "Blau");
// Aufrufen der Aktionen der Klasse Mensch auf den Objekten der Klasse
denis.sichVorstellen();
michi.sichVorstellen();
// Ausgeben des Textes auf die Konsole
Console.Read();
}
}
Du siehst also, entscheidend ist, dass wir den den Konstruktor richtig angelegt haben und beim Anlegen eines Objektes der Klasse die richtigen Datentypen als Parameter verwenden. Auf diese Weise können wir nun beliebig Klassen und Objekte anlegen und ihre Aktionen verwenden. Das mag hier in dem Beispiel recht banal sein, jedoch in einem komplexeren Programm wie z.B. einem Spiel, da besteht alles mögliche aus Klassen.
Nehmen wir z.B. Candy Crush, dort ist jedes Level eine eigene Klasse, jede einzelne Süßigkeit ist eine Unterklasse der Klasse Süssigkeiten usw. Was Unterklassen sind, lernst du übrigens noch im Kapitel zur Vererbung.
HINWEIS: Klassen können mehrere Konstruktoren haben. Mehr dazu in einem späteren Artikel.
Der Ultimative C# Kurs - Hier wirst Du zum CSharp Pro
-
So holst du das meiste aus dem Kurs
-
Lektion1.1
-
Lektion1.2
-
Lektion1.3
-
-
Deine erste C# Anwendung und Übersicht zu Visual Studio
-
Lektion2.1
-
Lektion2.2
-
Lektion2.3
-
-
Datentypen und Variablen
-
Lektion3.1
-
Lektion3.2
-
Lektion3.3
-
Lektion3.4
-
Lektion3.5
-
-
Funktionen / Methoden und wie sie einem das Leben vereinfachen
-
Lektion4.1
-
Lektion4.2
-
Lektion4.3
-
Lektion4.4
-
-
Benutzereingabe für unsere Programme verwenden
-
Lektion5.1
-
-
Entscheidungen Treffen
-
Lektion6.1
-
Lektion6.2
-
Lektion6.3
-
Lektion6.4
-
Lektion6.5
-
Lektion6.6
-
Lektion6.7
-
Lektion6.8
-
-
Schleifen (Loops) und wie man etwas automatisiert
-
Lektion7.1
-
Lektion7.2
-
Lektion7.3
-
Lektion7.4
-
Lektion7.5
-
Lektion7.6
-
Lektion7.7
-
-
Objektorientierte Programmierung (OOP) und Klassen
-
Lektion8.1
-
Lektion8.2
-
Lektion8.3
-
Lektion8.4
-
Lektion8.5
-
Lektion8.6
-
Lektion8.7
-
Lektion8.8
-
Lektion8.9
-
Lektion8.10
-
Lektion8.11
-
-
Arrays / Felder
-
Lektion9.1
-
Lektion9.2
-
Lektion9.3
-
Lektion9.4
-
Lektion9.5
-
Lektion9.6
-
-
ArrayList
-
Lektion10.1
-
Lektion10.2
-
Lektion10.3
-
Lektion10.4
-
Lektion10.5
-
-
Vererbung / Inheritance und noch mehr zu OOP
-
Lektion11.1
-
Lektion11.2
-
Lektion11.3
-
Lektion11.4
-
-
Polymorphie und noch mehr zu OOP
-
Lektion12.1
-
Lektion12.2
-
Lektion12.3
-
Lektion12.4
-
Lektion12.5
-
Lektion12.6
-
-
Debugging und Try and Catch
-
Lektion13.1
-
Lektion13.2
-
-
Mit Dateien Arbeiten
-
Lektion14.1
-
Lektion14.2
-
Lektion14.3
-