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

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 308230 - Produkte anzeigen, auf die sich dieser Artikel bezieht
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:
http://support.microsoft.com/
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.
Alles erweitern | Alles schließen

Auf dieser Seite

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.

Voraussetzungen

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

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.

Definieren von Feldern, Konstruktoren und Methoden

  1. Fügen Sie drei private-Felder zur Klasse Employee hinzu:
    Private Name As String
    Private Salary As Decimal
    Private 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 = HireDate
    End Sub
  3. Fügen Sie eine öffentliche Methode zur Klasse hinzu.
    Public Sub PayRise(ByVal Amount As Decimal)
       Me.Salary += Amount
    End Sub

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 Set
    End 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 Get
    End 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 Get
    End Property

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)

Ü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 Lafayette
    Remuneration: 125000
    Days 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.

Eigenschaften

Artikel-ID: 308230 - Geändert am: Donnerstag, 25. September 2003 - Version: 1.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
Keywords: 
kbhowtomaster KB308230
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