Was ist eine Klasse?

Aktualisiert: November 2007

In dieser Lektion lernen Sie, wie Sie mithilfe von Klassen Objekte in Programmen darstellen können.

Wie Sie bereits aus einer früheren Lektion wissen, werden Visual Basic-Programme mit Objekten wie Formularen oder Steuerelementen erstellt. Objekte können auch verwendet werden, um reale Gegebenheiten darzustellen, z. B. Personen, einen Computer oder selbst abstraktere Dinge wie ein Bankkonto.

Eine Klasse ist lediglich eine Darstellung eines Objekttyps. Sie können sich die Klasse als Blaupause vorstellen, die das Objekt beschreibt. So wie eine Blaupause für den Bau mehrerer Gebäude verwendet werden kann, ist es auch möglich, eine Klasse zum Erstellen mehrerer Kopien eines Objekts zu verwenden.

Obwohl Sie es vielleicht nicht bemerkt haben, haben Sie bereits Klassen verwendet. Das TextBox-Steuerelement wird beispielsweise einschließlich Darstellung und Funktionen durch eine TextBox-Klasse definiert. Jedes Mal, wenn Sie ein TextBox-Steuerelement auf ein Formular ziehen, erstellen Sie eine neue Instanz der TextBox-Klasse.

Jedes TextBox-Steuerelement ist eine exakte, aber doch gesonderte Kopie der Klasse, durch die es definiert wird, d. h. der TextBox-Klasse. Da es sich bei einem Objekt um eine gesonderte "Instanz" einer Klasse handelt, wird der Vorgang der Erstellung einer Klasse als Instanziierung bezeichnet.

Bislang haben Sie dem Formular TextBox-Steuerelemente hinzugefügt, indem Sie sie aus der Toolbox gezogen haben. Sie können aber auch ein TextBox-Objekt im Code instanziieren, indem Sie es mithilfe des New-Schlüsselworts deklarieren.

Dim Textbox1 As New TextBox

In den nachfolgenden Lektionen können Sie mehr über das Erstellen und das Verwenden von Klassen erfahren.

Was befindet sich in einer Klasse?

In der früheren Lektion Genauere Betrachtung: Eigenschaften, Methoden und Ereignisse haben Sie erfahren, dass alle Objekte Eigenschaften zum Beschreiben ihrer Attribute, Methoden zum Definieren der Aktionen und Ereignisse zum Definieren der Reaktionen besitzen. Entsprechend besitzt auch eine Klasse, mit der ein Objekt definiert wird, eigene Eigenschaften, Methoden und Ereignisse (die manchmal auch als Member bezeichnet werden). Diese werden an alle Instanzen dieser Klasse übergeben.

Eine Klasse, die ein Bankkonto darstellt, kann beispielsweise Eigenschaften wie AccountNumber oder AccountBalance, Methoden wie CalculateInterest und Ereignisse wie BalanceChanged besitzen. Nachdem Sie ein Bankkontoobjekt instanziiert haben, können Sie auf seine Eigenschaften, Methoden und Ereignisse zugreifen, genau wie es auch bei einem Objekt wie TextBox möglich ist.

Einige Member einer Klasse sind privat. Ein Zugriff ist hier nur durch in der Klasse enthaltenen Code möglich. Eine Bankkontoklasse könnte beispielsweise eine Methode zum Berechnen von Bilanzen besitzen. Es ist sinnvoll, einem Programm zu ermöglichen, diese Bilanz zu lesen. Eine direkte Änderung der Bilanz durch das Programm ist aber nicht wünschenswert.

Sie können Member in einer Klasse ausblenden, indem Sie sie als Private deklarieren. Sie können die Member aber auch sichtbar machen, indem Sie sie als Public deklarieren. Sie können auch den Zugriff auf eine Eigenschaft zulassen und gleichzeitig eine Änderung der Werte durch das Programm verhindern, indem Sie die Eigenschaft als ReadOnly deklarieren. Der folgende Code veranschaulicht, wie eine BankAccount-Klasse aussehen könnte.

Class BankAccount
    Private AccountNumber As String
    Private AccountBalance As Decimal
    Public Sub UpdateBalance()
        ' add code to recalculate balance.
    End Sub
    ReadOnly Property Balance() As Decimal
        Get
            Return AccountBalance
        End Get
    End Property
End Class

Nächste Schritte

In diesem Thema haben Sie Grundlagenwissen über Klassen erworben und einige neue Begriffe kennen gelernt. In der nächsten Lektion erfahren Sie, wie Sie eine Klasse erstellen.

Nächste Lektion: Modellieren eines realen Objekts: Erstellen der ersten Klasse.

Siehe auch

Konzepte

Genauere Betrachtung: Eigenschaften, Methoden und Ereignisse

Klassen: Vorlagen für Objekte

Weitere Ressourcen

Programmieren mit Objekten: Verwenden von Klassen