SO WIRD'S GEMACHT: Erstellen von Klassen und Objekten in C# .NET

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 307368 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde zuvor veröffentlicht unter D307368
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
307368 HOW TO: Create Classes and Objects in C# .NET
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

C# ist eine objektorientierte Programmiersprache. Sie definieren Klassen für die Typdarstellung in Ihrer Anwendung, und Sie erstellen anschließend Objekte als Instanzen dieser Klassen.

In C# kann eine Klasse Felder, Methoden, Eigenschaften und Indizes enthalten. Dieser Beitrag veranschaulicht das Erstellen einer neuen Klasse in C#, die ein Baseballteam darstellt. Sie definieren Felder, Methoden und Eigenschaften für die Klasse. Anschließend erstellen Sie ein Objekt dieses Klassentyps und verwenden seine Methoden und Eigenschaften.

Erforderliche Vorkenntnisse:
  • C# Syntax
  • Objektorientierte Konzepte

Erstellen einer neuen Konsolenanwendung

  1. Starten Sie Visual Studio .NET, und erstellen Sie dann ein neues C#-Konsolenanwendungsprojekt namens ClassesAndObjects .
  2. Speichern Sie das Projekt.

Erstellen einer neuen Klasse

  1. Klicken Sie im Menü Projekt auf Klasse hinzufügen.
  2. Geben Sie im Dialogfeld Neues Element hinzufügen als Klassenname BaseballTeam ein, und klicken Sie dann auf Öffnen.
  3. Untersuchen Sie den Code für die neue Klasse im Fenster Codeansicht.

Definieren von Feldern und Konstruktoren

  1. Klicken Sie im Menü Ansicht auf Klassenansicht. Erweitern Sie im Fenster Klassenansicht das Projekt ClassesAndObjects, und erweitern Sie dann den Namespace ClassesAndObjects. Klicken Sie mit der rechten Maustaste auf die Klasse BaseballTeam, klicken Sie auf Hinzufügen, und klicken Sie dann auf Feld hinzufügen.
  2. Legen Sie im C#-Feld-Assistent die Option Feldzugriff als Privat fest, und legen Sie dann Feldtyp als Zeichenfolge fest. Geben Sie als Feldname Name ein. Klicken Sie auf Fertig stellen. Zu der Klasse wird das folgende Feld hinzugefügt:
    private string name;
  3. Wiederholen Sie die Schritte 1 und 2 (oder geben Sie den Code manuell ein), um ein weiteres Feld wie folgt hinzuzufügen:
    private string stadium;
  4. Fügen Sie zwei weitere Felder hinzu, und stellen Sie dann die folgenden Anfangswerte für die Felder zur Verfügung:
    private int wins = 0;
    private int defeats = 0;
  5. Bearbeiten Sie den Konstruktor für die Klasse zum Initialisieren des Namens des Teams und des Stadions:
    public BaseballTeam(string n, string s)
    {
     this.name = n;
     this.stadium = s;
    }

Definieren von Methoden

  1. Klicken Sie im Fenster Klassenansicht mit der rechten Maustaste auf die Klasse BaseballTeam. Klicken Sie auf Hinzufügen, und klicken Sie dann auf Methode hinzufügen.
  2. Legen Sie Methodenzugriff als Öffentlich fest, und legen Sie den Rückgabetyp als void fest. Geben Sie als Methodenname PlayGame ein. Fügen Sie zwei int-Parameter namens runsFor und runsAgainst hinzu. Klicken Sie auf Fertig stellen. Zu der Klasse wird die folgende Methode hinzugefügt:
    public void PlayGame(int runsFor, int runsAgainst)
    {
    }
  3. Definieren Sie den Hauptteil der Methode wie folgt:
    public void PlayGame(int runsFor, int runsAgainst)
    {
     if (runsFor > runsAgainst)
     this.wins++;
     else
     this.defeats++;
    }
  4. Alle Klassen in C# erben letztlich von einer Basisklasse namens Object. Diese Klasse definiert gemeinsame Funktionen für alle Klassen. Ein Beispiel hierfür ist die Methode ToString, die eine Zeichenfolgedarstellung des Klassenstatus zurückgibt. Überschreiben Sie diese Methode in der Klasse BaseballTeam wie im Folgenden gezeigt:
    public override string ToString()
    {
     return this.name + ", play at " + this.stadium + ": " +
     " W" + this.wins + " L" + this.defeats;
    }

Definieren überladener Methoden

C# unterstützt überladene Methoden. Dies sind Methoden, die zwar den gleichen Namen, jedoch eine unterschiedliche Signatur tragen. In Schritt 2 unten definieren Sie eine überladene Version der Methode PlayGame, die das Ergebnis eines Spieles als Parameter annimmt.
  1. Definieren Sie zuerst wie im Folgenden gezeigt ein Objekt Enum in der Klasse BaseballTeam:
    public enum Result {Win, Lose}
  2. Erstellen Sie wie folgt eine weitere Methode PlayGame:
    public void PlayGame(Result r)
    {
     if (r == Result.Win)
     this.wins++;
     else if (r == Result.Lose)
     this.defeats++;
    }

Definieren von Eigenschaften

  1. Klicken Sie im Fenster Klassenansicht mit der rechten Maustaste auf die Klasse BaseballTeam. Klicken Sie auf Hinzufügen, und klicken Sie dann auf Eigenschaft hinzufügen.
  2. Legen Sie Eigenschaftenzugriff als Öffentlich fest, und legen Sie den Eigenschaftentyp als Double fest. Geben Sie als Eigenschaftenname Record ein. Klicken Sie auf das Optionsfeld get, und klicken Sie dann auf Fertig stellen. Zu der Klasse wird die folgende Eigenschaft hinzugefügt:
    public double Record
    {
     get
     {
     return 0;
     }
    }
  3. Bearbeiten Sie die Eigenschaft wie folgt, damit sie die Kennzahl für das Verhältnis zwischen gewonnenen und verlorenen Spielen des Baseballteams zurückgibt (wenn das Team z. B. 10 Spiele gewinnt und 10 Spiele verliert, lautet die Kennzahl 0,5):
    public double Record
    {
     get
     {
     int played = this.wins + this.defeats;
     return (double)this.wins / played;
     }
    }
  4. Fügen Sie wie folgt eine Eigenschaft get/set namens Ballpark hinzu. Diese Eigenschaft ermöglicht das Lesen oder Ändern des Feldes stadium des Baseballteams:
    public string Ballpark
    {
     get 
     {
     return this.stadium; 
     }
     set 
     {
     this.stadium = value; // Wert ist impliziter Parameter
     }
    }

Erstellen und Verwenden eines Objekts

  1. Zeigen Sie den Code für Class1.cs im Fenster Codeansicht an.
  2. Erstellen Sie in der Methode Main ein Objekt BaseballTeam, indem Sie den neuen Operator verwenden. Weisen Sie den Objektverweis einer lokalen Variable BaseballTeam wie folgt zu:
    BaseballTeam sf = new BaseballTeam("San Francisco Giants", 
       "Candlestick Park");
  3. Fügen Sie den folgenden Code hinzu, um die öffentlichen Methoden für das Objekt zu testen:
    sf.PlayGame(7, 2);
    sf.PlayGame(BaseballTeam.Result.Lose);
  4. Fügen Sie die folgenden Anweisungen hinzu, die die Eigenschaften des Objekts festlegen:
    Console.Out.WriteLine("Record: " + sf.Record);
    sf.Ballpark = "3Com Park";
  5. Zeigen Sie den aktuellen Status des Objekts wie folgt an:
    Console.Out.WriteLine(sf.ToString());
  6. Legen Sie den Objektverweis als Null fest, um anzugeben, dass das Objekt BaseballTeam nicht mehr benötigt wird. Auf diese Weise wird das Objekt für Garbagecollection bereitgestellt (beachten Sie, dass C# keinen Operator delete besitzt):
    sf = null;

Überprüfen der Funktionsfähigkeit

  1. Erstellen Sie die Anwendung, und führen Sie sie dann aus.
  2. Stellen Sie sicher, dass die Anwendung die folgenden Informationen in der Konsole anzeigt:
    Record: 0.5
    San Francisco Giants, play at 3Com Park: W1 L1


Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.

Eigenschaften

Artikel-ID: 307368 - Geändert am: Freitag, 11. November 2005 - Version: 1.1
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual C# .NET 2002 Standard Edition
Keywords: 
kbhowto kbhowtomaster KB307368
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com