Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

SO WIRD'S GEMACHT: Definition und Verwendung von Eigenschaften in Visual Basic .NET

Dieser Artikel wurde zuvor veröffentlicht unter D308230
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
308230 HOW TO: Define and Use Properties in Visual Basic .NET
In Artikel 319265 wird dieses Thema für Microsoft Visual C# .NET behandelt.
Hinweis: Die Verwendung der hier aufgeführten Informationen sowie Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionalität sowie ohne Anspruch auf Support zur Verfügung. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen.

Weitere Informationen zu den von Microsoft angebotenen Supportoptionen finden Sie unter folgender Internetadresse:
Zusammenfassung
Eine wichtige Zielsetzung vieler objektorientierter Programmiersprachen ist es, die Kapselung interner Details in einer Klasse zu ermöglichen. Mit Visual Basic .NET können Sie Eigenschaften für den kontrollierten Zugriff auf interne Details in einer Klasse definieren. Dieser Artikel beschreibt die Vorgehensweise zur Definition und Verwendung von Eigenschaften in einer Visual Basic .NET-Anwendung.

Es kann Lese-, Schreib- oder Schreib-/Leseeigenschaften geben. Ein get-Accessor bietet Lesezugriff und ein set-Accessor Schreibzugriff. Zu diesen Accessoren fügen Sie Code hinzu, um die Funktionalität zum Abrufen oder Setzen der Eigenschaft zu realisieren.

In diesem Artikel erstellen Sie eine Klasse namens Employee. Innerhalb dieser Klasse defineren Sie eine Lese-/Schreib-Eigenschaft für den Namen des Mitarbeiters, eine Eigenschaft, um das Gehalt des Mitarbeiters zu lesen, und eine Eigenschaft, um zu berechnen, wie lange der Mitarbeiter für die Firma gearbeitet hat. Dann erstellen Sie ein Objekt Employee in Ihrer Anwendung und verwenden seine Eigenschaften.

Zurück zum Anfang

Voraussetzungen

Dieser Artikel geht davon aus, dass Sie mit folgenden Themen vertraut sind:
  • Visual Basic .NET-Syntax
  • Objektorientierte Konzepte
  • Microsoft Visual Studio .NET
Zurück zum Anfang

Erstellen einer Anwendung, die eine Visual Basic .NET-Klasse enthält

  1. Starten Sie Visual Studio .NET und erstellen Sie ein neues Visual Basic .NET-Konsolenanwendungsprojekt namens EmployeeProperties.
  2. Klicken Sie im Menü Projekt auf Klasse hinzufügen. Im Dialogfeld Neues Element hinzufügen geben Sie Employee.vb im Textfeld Name ein. Klicken Sie dann auf Öffnen.
  3. Sehen Sie sich den Code für die neue Klasse in der Codeansicht an.
Zurück zum Anfang

Definieren von Feldern, Konstruktoren und Methoden

  1. Fügen Sie drei private-Felder zur Klasse Employee hinzu:
    Private Name As StringPrivate Salary As DecimalPrivate HireDate As DateTime
  2. Definieren Sie einen Konstruktor für die Klasse, um die Felder in der Klasse Employee zu initialisieren:
    Public Sub New(ByVal Name As String, _               ByVal Salary As Decimal, _               ByVal HireDate As DateTime)   Me.Name = Name   Me.Salary = Salary   Me.HireDate = HireDateEnd Sub
  3. Fügen Sie eine öffentliche Methode zur Klasse hinzu.
    Public Sub PayRise(ByVal Amount As Decimal)   Me.Salary += AmountEnd Sub
Zurück zum Anfang

Definieren von Eigenschaften in der Klasse

  1. Fügen Sie folgenden Code hinzu, um eine Lese-/Schreib-Eigenschaft namens FullName hinzuzufügen. Der Get-Accessor gibt den Namen des Mitarbeiters zurück. Der set-Accessor verwendet den Parameter value, der zum Setzen des Mitarbeiternamens automatisch in den set-Accessor übergeben wird.
    Public Property FullName() As String   Get      Return Me.Name   End Get   Set(ByVal Value As String)      Me.Name = Value   End SetEnd Property
  2. Fügen Sie folgenden Code hinzu, um eine schreibgeschützte Eigenschaft namens Remuneration hinzuzufügen. Der Get-Accessor gibt das Gehalt des Mitarbeiters zurück. Es gibt keinen Set-Accessor, da das Gehalt nicht direkt gesetzt werden kann; es kann nur über die Methode PayRise geändert werden.
    Public ReadOnly Property Remuneration() As Decimal   Get      Return Me.Salary   End GetEnd Property
  3. Fügen Sie folgenden Code hinzu, um eine weitere schreibgeschützte Eigenschaft namens DaysSinceJoined hinzuzufügen. Der get-Accessor berechnet, wie viele Tage der Mitarbeiter für die Firma gearbeitet hat.
    Public ReadOnly Property DaysSinceJoined() As Integer   Get      Dim timespan As TimeSpan = DateTime.Now.Subtract(Me.HireDate)      return timespan.Days   End GetEnd Property
Zurück zum Anfang

Erstellen eines Objekts erstellen und Verwenden der Eigenschaften

  1. Zeigen Sie den Code für die Module1.vb in der Codeansicht an.
  2. Verwenden Sie in der Methode Main den Operator New, um ein Objekt Employee zu erstellen. Ordnen Sie den Objektverweis einer lokalen Variable Employee zu:
    Dim worker As New Employee( "Jayne Doe", _                             125000, _                             New DateTime(1998, 7, 31) )
  3. Fügen Sie folgenden Code hinzu, um die Eigenschaft FullName für den Mitarbeiter zu ändern. Dadurch wird implizit der Set-Accessor für die Eigenschaft FullName aufgerufen.
    worker.FullName = "Jayne Lafayette"
  4. Fügen Sie folgenden Code hinzu, um über die get-Accessors für die Eigenschaften FullName, Remuneration und DaysSinceJoined die Daten des Mitarbeiters anzuzeigen:
    Console.WriteLine("Full name: " & worker.FullName)Console.WriteLine("Remuneration: " & worker.Remuneration)Console.WriteLine("Days since joined: " & worker.DaysSinceJoined)
Zurück zum Anfang

Überprüfen der Funktionsfähigkeit

  1. Erstellen Sie die Anwendung und führen Sie sie aus.
  2. Die Anwendung zeigt folgende Informationen auf der Konsole an (der Wert DaysSinceJoined hängt vom aktuellen Datum ab):
    Full name: Jayne LafayetteRemuneration: 125000Days since joined: 1139
  3. Kehren Sie zur Datei Module1.vb i Fenster Codeansicht zurück und fügen Sie folgenden Code am Ende der Methode Main hinzu:
    worker.Remuneration = 1000000
  4. Versuchen Sie, die Anwendung zu erstellen. Sie erhalten einen Kompilierungsfehler, da Remuneration eine schreibgeschützte Eigenschaft ist.
  5. Ändern Sie die Anweisung folgendermaßen:
    worker.Salary = 1000000
  6. Versuchen Sie erneut, die Anwendung zu erstellen. Sie erhalten einen anderen Kompilierungsfehler, da das Feld salary als privat gekennzeichnet ist. Das Gehalt des Mitarbeiters kann nur über die öffentliche Methode PayRise geändert werden.
Zurück zum Anfang
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

Artikelnummer: 308230 – Letzte Überarbeitung: 09/25/2003 13:11:00 – Revision: 1.0

Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft Visual Basic .NET 2003 Standard Edition

  • kbhowtomaster KB308230
Feedback
t> ref="" ng-click="setLanguage(language);" class="ng-binding" id="language-">
://c1.microsoft.com/c.gif?DI=4050&did=1&t=">p;t=">document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> ;did=1&t="> + "//c.microsoft.com/ms.js'><\/script>"); &t=">