C# - Klassen: Ein Anfängerleitfaden

Hallo da drüben, zukünftige Programmierer! Heute machen wir uns auf eine aufregende Reise in die Welt der C# Klassen. Keine Sorge, wenn Sie noch nie kodiert haben – ich werde Ihr freundlicher Guide sein und alles Schritt für Schritt erklären. Also, tauchen wir ein!

C# - Classes

Was ist eine Klasse?

Bevor wir beginnen, lassen Sie uns verstehen, was eine Klasse ist. Stellen Sie sich eine Klasse als Schablone vor, um Objekte zu erstellen. Es ist wie ein Plätzchenausstecher, der die Form und Eigenschaften der Plätzchen definiert, die Sie machen werden. In der Programmierung definiert eine Klasse die Eigenschaften und Verhaltensweisen, die Objekte dieser Klasse haben werden.

Definition einer Klasse

Lassen Sie uns mit der Erstellung einer einfachen Klasse beginnen. Wir werden eine Dog Klasse erstellen, denn wer liebt Hunde nicht?

public class Dog
{
// Klassenmitglieder kommen hier hin
}

Dies ist die grundlegende Struktur einer Klasse. Das Schlüsselwort public bedeutet, dass diese Klasse von anderen Teilen Ihres Programms zugänglich ist. Innerhalb der geschweiften Klammern {}, definieren wir die Klassenmitglieder.

Hinzufügen von Eigenschaften

Eigenschaften sind wie Merkmale unseres Hundes. Lassen Sie uns einige hinzufügen:

public class Dog
{
public string Name;
public int Age;
public string Breed;
}

Jetzt hat unsere Dog Klasse einen Namen, Alter und Rasse. Diese werden als Felder oder Eigenschaften der Klasse bezeichnet.

Member-Funktionen und Kapselung

Member-Funktionen (oder Methoden) sind Aktionen, die unser Hund ausführen kann. Lassen Sie uns eine Methode hinzufügen, damit unser Hund bellen kann:

public class Dog
{
public string Name;
public int Age;
public string Breed;

public void Bark()
{
Console.WriteLine("Wuff! Wuff!");
}
}

Die Bark Methode ist eine einfache Aktion, die "Wuff! Wuff!" in die Konsole schreibt.

Kapselung

Kapselung ist so, als ob man die Eigenschaften des Hundes in eine schützende Blase packt. Es ist eine Möglichkeit, den Zugriff auf die Klassenmitglieder zu steuern. Lassen Sie uns unsere Klasse ändern, um Kapselung zu verwenden:

public class Dog
{
private string name;
private int age;
public string Breed { get; set; }

public string Name
{
get { return name; }
set { name = value; }
}

public int Age
{
get { return age; }
set
{
if (value > 0)
age = value;
}
}

public void Bark()
{
Console.WriteLine("Wuff! Wuff!");
}
}

Jetzt sind name und age privat und werden über öffentliche Eigenschaften zugreifbar. Dies ermöglicht es uns, Logik hinzuzufügen, wie z.B. sicherzustellen, dass das Alter stets positiv ist.

C# Konstruktor

Ein Konstruktor ist eine spezielle Methode, die aufgerufen wird, wenn Sie eine neue Instanz einer Klasse erstellen. Es ist so, als ob Sie Ihren Hund einrichten, wenn Sie ihn das erste Mal bekommen. Lassen Sie uns einen Konstruktor zu unserer Dog Klasse hinzufügen:

public class Dog
{
// ... vorheriger Code ...

public Dog(string name, int age, string breed)
{
Name = name;
Age = age;
Breed = breed;
}
}

Jetzt können wir einen neuen Hund so erstellen:

Dog myDog = new Dog("Buddy", 3, "Labrador");

C# Destruktor

Destruktoren sind Methoden, die Ressourcen bereinigen, wenn ein Objekt nicht mehr benötigt wird. In C# werden sie selten verwendet, da der Müllsammler die Speicherverwaltung übernimmt. Aber für die Vollständigkeit hier ist, wie man einen definiert:

public class Dog
{
// ... vorheriger Code ...

~Dog()
{
Console.WriteLine("Auf Wiedersehen, " + Name + "!");
}
}

Dieser Destruktor wird aufgerufen, wenn das Hundobjekt vom Müllsammler zerstört wird.

Statische Mitglieder einer C# Klasse

Statische Mitglieder gehören zur Klasse selbst und nicht zu einem bestimmten Beispiel. Sie werden von allen Instanzen der Klasse geteilt. Lassen Sie uns ein statisches Mitglied hinzufügen, um zu verfolgen, wie viele Hunde wir erstellt haben:

public class Dog
{
// ... vorheriger Code ...

public static int DogCount = 0;

public Dog(string name, int age, string breed)
{
Name = name;
Age = age;
Breed = breed;
DogCount++;
}

public static void ReportDogCount()
{
Console.WriteLine("Gesamtzahl der Hunde: " + DogCount);
}
}

Jetzt wird DogCount erhöht, jedes Mal wenn wir einen neuen Dog erstellen. Wir können Dog.ReportDogCount() jederzeit aufrufen, um zu sehen, wie viele Hunde wir erstellt haben.

Alles zusammenfügen

Lassen Sie uns unsere Dog Klasse in einem Programm verwenden:

class Program
{
static void Main(string[] args)
{
Dog dog1 = new Dog("Buddy", 3, "Labrador");
Dog dog2 = new Dog("Max", 5, "Deutscher Schäferhund");

Console.WriteLine(dog1.Name + " ist ein " + dog1.Breed);
dog1.Bark();

Console.WriteLine(dog2.Name + " ist " + dog2.Age + " Jahre alt");
dog2.Bark();

Dog.ReportDogCount();
}
}

Dieses Programm erstellt zwei Hunde, zeigt deren Informationen an, lässt sie bellen und meldet die Gesamtzahl der erstellten Hunde.

Fazit

Glückwunsch! Sie haben gerade die Grundlagen der C# Klassen gelernt. Wir haben das Definieren von Klassen, Hinzufügen von Eigenschaften und Methoden, die Verwendung von Konstruktoren und Destruktoren sowie statische Mitglieder behandelt. Denken Sie daran, Übung macht den Meister, also probieren Sie selbst, Ihre eigenen Klassen zu erstellen und verschiedene Eigenschaften und Methoden auszuprobieren.

Hier ist eine Tabelle, die die Hauptmethoden zusammenfasst, die wir besprochen haben:

Methode Beschreibung
Konstruktor Initialisiert eine neue Instanz der Klasse
Destruktor Bereinigt Ressourcen, wenn das Objekt zerstört wird
Bark() Lässt den Hund bellen
ReportDogCount() Meldet die Gesamtzahl der erstellten Hunde

Weiterschreiben und bald werden Sie komplexe Programme mit Leichtigkeit erstellen. Viel Erfolg beim Lernen!

Credits: Image by storyset