Hinzufügen von Methoden zu einer Klasse
Aktualisiert: November 2007
In dieser Lektion erfahren Sie, wie Sie einer Klasse Methoden hinzufügen, damit sie Aktionen ausführen kann.
In der früheren Lektion Genauere Betrachtung: Eigenschaften, Methoden und Ereignisse haben Sie erfahren, dass die meisten Objekte Aktionen ausführen können. Diese Aktionen werden als Methoden bezeichnet. Die von Ihnen in der Lektion Modellieren eines realen Objekts: Erstellen der ersten Klasse erstellte Persons-Klasse stellt eine Person dar. Personen können eine Vielzahl von Aktionen ausführen, und für die Persons-Klasse können diese Aktionen als Klassenmethoden ausgedrückt werden.
Class-Methoden
Bei den Methoden einer Klasse handelt es sich um die Sub-Prozeduren oder Function-Prozeduren, die in der Klasse deklariert werden. So kann eine Account-Klasse über eine Sub-Prozedur mit dem Namen Recalculate verfügen, die den Saldo aktualisieren würde, oder eine CurrentBalanceFunction-Prozedur, die den aktuellen Saldo zurückgibt. Der Code zum Deklarieren dieser Methoden könnte wie folgt aussehen:
Public Sub Recalculate()
' add code to recalculate the account.
End Sub
Public Function CurrentBalance(ByVal AccountNumber As Integer) As Double
' add code to return a balance.
End Function
Während die meisten Klassenmethoden öffentlich sind, möchten Sie vielleicht auch Methoden hinzufügen, die ausschließlich von der Klasse selbst verwendet werden können. Die Persons-Klasse könnte z. B. über eine eigene Funktion verfügen, um das Alter einer Person zu berechnen. Durch das Deklarieren der Funktion als Private kann sie außerhalb der Klasse nicht erkannt oder aufgerufen werden.
Der Code für eine private Funktion könnte wie folgt aussehen:
Private Function CalcAge(ByVal year As Integer) As Integer
CalcAge = My.Computer.Clock.LocalTime.Year - year
End Function
Sie können den Code, mit dem der Wert von CalcAge berechnet wird, später ändern, und die Methode würde weiterhin gut funktionieren, ohne dass Code geändert würde, in dem die Methode verwendet wird. Das Ausblenden von Code, der die Methode ausführt, wird als Kapselung bezeichnet.
In der Persons-Klasse werden Sie eine öffentliche Methode, die einen vollständigen Namen zurückgibt, und eine private Funktion für die Berechnung des Alters erstellen
Übung
So fügen Sie der Klasse eine Methode hinzu
Öffnen Sie das in der vorherigen Lektion erstellte Persons-Projekt. Wenn Sie das Projekt nicht gespeichert haben, müssen Sie zuerst zur vorherigen Lektion, Hinzufügen von Eigenschaften zu einer Klasse, zurückkehren und die Prozeduren abschließen.
Wählen Sie im Projektmappen-Explorer den Eintrag Persons.vb aus, und klicken Sie anschließend im Menü Ansicht auf Code.
Fügen Sie unterhalb der Eigenschaftenprozeduren den folgenden Code hinzu.
Public Function FullName() As String If middleNameValue <> "" Then FullName = firstNameValue & " " & middleNameValue & " " _ & lastNameValue Else FullName = firstNameValue & " " & lastNameValue End If End Function
Private Function CalcAge(ByVal year As Integer) As Integer CalcAge = My.Computer.Clock.LocalTime.Year - year End Function
Ändern Sie den Code in der Age-Eigenschaftenprozedur, um die private Funktion zu verwenden.
ReadOnly Property Age() As String Get ' Age = My.Computer.Clock.LocalTime.Year - birthDateValue Age = CalcAge(birthYearValue) End Get End Property
Klicken Sie im Menü Datei auf Alle speichern, um Ihre Änderungen zu speichern.
Nächste Schritte
In dieser Lektion haben Sie erfahren, wie sowohl öffentliche als auch private Methoden einer Klasse hinzugefügt werden. Weitere Informationen zu Methoden finden Sie unter Genauere Betrachtung: Erstellen von mehreren Versionen derselben Methode durch Überladen. Wahlweise können Sie auch zur nächsten Lektion übergehen, in der Sie mehr über das Hinzufügen von Ereignissen zu Klassen erfahren.
Nächste Lektion: Hinzufügen von Ereignissen zu einer Klasse.
Siehe auch
Aufgaben
Hinzufügen von Eigenschaften zu einer Klasse