Gewusst wie: Schreiben von Code für VB-Klasse

January 23

Gewusst wie: Schreiben von Code für VB-Klasse

Eine VB-Klasse ist die Grundkomponente objektorientierte Programmierung mit Visual Basic. Die VB-Klasse ist die Definition von Klassen der Eigenschaften und Methoden wie im VB-Code definiert. Wenn die Klasse instanziiert wird mit einer Dim und New-Anweisung wird ein tatsächliches Objekt im Speicher.

Anweisungen

Schreiben Sie Code für die VB-Klasse

1 Erstellen Sie ein neues Visual Basic-Projekt basierend auf der Vorlage Klassenbibliothek. Dadurch wird ein Projekt mit dem Beginn einer Klasse erstellt. Name der Klasse Bibliothek ClPerson.

2 Im Fenster Projektmappen-Explorer mit der rechten Maustaste auf die Datei class1.vb, und benennen Sie sie in 'clsPerson.vb'. Dies wird der Name der Klasse in das Codefenster zu ClsPerson auch ändern.

3 Fügen Sie diese beiden Zeilen am Anfang der Klassendefinition, direkt nach der Zeile 'Public Class ClsPerson'.

Private _Name As String

Private _DateOfBirth As Date

Diese werden die internen Variablen, die Daten über die Person zu halten. Sie werden als 'Private' definiert, sodass sie Code außerhalb der Klasse nicht ändern kann. Änderungen an diesen Werten werden durch die Methoden und Eigenschaften der Klasse kontrolliert werden.

4 Dieser Code als Eigenschaften der Klasse hinzufügen:

Public Property Name As String

Get

Name = _sName

End Get

Set(ByVal value As String)

_sName = value

End Set

End Property

Public Property DateOfBirth As Date

Get

DateOfBirth = _DateOfBirth

End Get

Set(ByVal value As Date)

If value > Today Then

Throw New ApplicationException("Date of birth must be today or before")

Else

_DateOfBirth = value

End If

End Set

End Property

Diese sind schreibgeschützte Eigenschaften und ihre Werte in die privaten Variablen, die zuvor definierten speichern. Die DateOfBirth-Eigenschaft veranschaulicht einige rudimentäre Fehlerbehandlung durch überprüfen, dass das Geburtsdatum heute ist oder vor. Wenn es nicht der Fall ist, wird eine Ausnahme ausgelöst, die dann vom verwendeten Programm der Klasse umschlagen kann.

5 Hier ist ein Beispiel für eine schreibgeschützte Eigenschaft.

Public ReadOnly Property Age As Integer

Get

Dim retval As Integer

retval = DateTime.Now.Year - _DateOfBirth.Year ' Find the different in years

If DateTime.Now.Month < _DateOfBirth.Month Or (DateTime.Now.Month = _DateOfBirth.Month And DateTime.Now.Day < _DateOfBirth.Day) Then

retval = retval - 1 ' If before the birthday in this year subtract one

End If

Age = retval

End Get

End Property

Mit dem aktuellen Datum und das Geburtsdatum in der Klasse erlaubt es, Alter der Person zu berechnen. Das raubende Programm muss nicht wissen wie dies umgesetzt wird. Es könnte einen tatsächlichen Wert speichern oder Berechnung.

6 Eine einfache Methode wird z. B. ermitteln, ob eine andere Person älter als die Person, die im aktuellen Objekt dargestellt wird.

Public Function GetOlder(ByRef comp As clsPerson) As clsPerson

If comp.DateOfBirth > _DateOfBirth Then

GetOlder = comp

Else

GetOlder = Me

End If

End Function7

In einem anderen Programm wäre die Klasse, die definiert wurde, wie folgt verwendet werden:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim cp As New clsPerson

cp.DateOfBirth = "10/2/1956"

MsgBox(cp.Age)

End Sub

Achten Sie darauf, dass Sie 'Imports ClPerson' am oberen Rand der Datei enthalten, die das Objekt verwenden muss.