This article has been localized into German by the community.
Einleitung
In vielen Programmier-Tutorials werden Informationen über Klassen für viel später gespeichert. Da es in C# jedoch um objektorientierte Programmierung und damit Klassen geht, werden wir bereits jetzt eine grundlegende Einführung in die wichtigsten Dinge machen.
Zuallererst ist eine Klasse eine Gruppe verwandter Methoden und Variablen. Eine Klasse beschreibt diese Dinge, und in den meisten Fällen erstellen Sie eine Instanz dieser Klasse, die jetzt als Objekt bezeichnet wird. Auf diesem Objekt verwenden Sie die definierten Methoden und Variablen. Natürlich können Sie so viele Instanzen Ihrer Klasse erstellen, wie Sie möchten. Klassen und objektorientierte Programmierung im Allgemeinen sind ein großes Thema. Wir werden einiges in diesem Kapitel und in späteren Kapiteln behandeln, aber nicht alles.
Im Kapitel "Hallo Welt" haben wir eine Klasse zum ersten Mal gesehen, da alles in C# auf Klassen aufgebaut ist. Lasst uns unser Hallo-Welt-Beispiel mit einer Klasse erweitern, die wir selbst gebaut haben.
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Car car;
car = new Car("Red");
Console.WriteLine(car.Describe());
car = new Car("Green");
Console.WriteLine(car.Describe());
Console.ReadLine();
}
}
class Car
{
private string color;
public Car(string color)
{
this.color = color;
}
public string Describe()
{
return "This car is " + Color;
}
public string Color
{
get { return color; }
set { color = value; }
}
}
}
Okay, viel Neues hier. Aber fast alles basiert auf Dingen, die wir schon früher in diesem Tutorial benutzt haben. Wie Sie sehen können, haben wir eine neue Klasse namens Car definiert. Sie ist in der gleichen Datei wie unsere Hauptanwendung deklariert. Für eine bessere Übersicht werden neue Klassen jedoch normalerweise in ihren eigenen Dateien definiert. Unsere Klasse definiert eine einzelne Variable, genannt Color, welche natürlich verwendet wird um die Farbe unseres Autos zu definieren. Wir haben sie als privat deklariert, was eine gute und gängige Praxis ist. Denn der Zugriff auf Variablen von außen sollte nur durch eine Eigenschaft erfolgen. Die Color-Eigenschaft wird am Ende der Klasse definiert und gewährt Zugriff auf die Farbvariable.
Außerdem definiert unsere Car Klasse einen Konstruktor. Es braucht einen Parameter, der es uns ermöglicht, Car Objekte mit einer Farbe zu initialisieren. Da es nur einen Konstruktor gibt, können Car Objekte nur über eine Farbe instanziiert werden. Die Describe() -Methode ermöglicht es uns, eine nette Nachricht mit der einzigen Information zu erhalten, die wir zu unserem Auto aufnehmen. Sie gibt einfach eine Zeichenfolge mit den von uns bereitgestellten Informationen zurück.
In unserer Hauptanwendung deklarieren wir nun eine Variable vom Typ Auto. Danach erstellen wir eine neue Instanz davon mit "Rot" als Parameter. Entsprechend dem Code unserer Klasse bedeutet dies, dass die Farbe Rot der Farbe des Autos zugewiesen wird. Um dies zu überprüfen, rufen wir die Describe() -Methode auf, und um zu zeigen, wie einfach wir mehrere Instanzen der gleichen Klasse erstellen können, tun wir es wieder, aber mit einer anderen Farbe. Wir haben gerade unsere erste Funktionsklasse erstellt und genutzt.
In den folgenden Kapiteln werden Konzepte wie Eigenschaften, Konstruktoren und Sichtbarkeit näher erläutert.