| Titel: | Konstruktor | |
| Beschreibung: | Begriffserklärung + Beispiel | |
| Kategorie: | Programmierung | |
| Unterkategorie | .NET-Basic | |
| Artikel überarbeiten: | Konstruktor | |
Dim today As New CalenderDate()
In obigen Ausdruck ist das Schlüsselwort >>New<< zu sehen. Es scheint sich hierbei um einen Methodenaufruf ohne Argumente zu handeln, und genau das ist es auch!
Es handelt sich nämlich um einen Aufruf des >>Standardkonstruktors<< von CalendarDate. Jede Klasse verfügt über einen Standardkonstruktor, ob dieser nun explizit definieren wurde oder nicht. Indem in der Klasse CalendarDate explizit einen Standardkonstruktor definieren, können Sie sicherstellen, dass das CalendarDate-Objekt immer einen gültigen Datumswert enthält.
Es ist darüber hinaus möglich, Konstruktoren mit einem oder mehreren Argumenten zu definieren. Es könnte in der Klasse CalendarDate beispielsweise ein Konstruktor mit drei Argumenten definiert werden, um ein CalendarDate-Objekt mit einem
bestimmten Datumswert zu initialisieren. Mithilfe eines solchen Konstruktors könnte ein CalendarDate-Objekt auf die folgende Weise erstellt werden
Dim birthdate As New CalendarDate(1978, 9, 2)
Dim yr, mn, dy As Integer Sub New(ByVal yr As Integer, ByVal mn As Integer, ByVal dy As Integer) Me.yr = yr Me.mn = mn Me.dy = dy End Sub
Gebrauch gemacht. Ein besserer Ansatz für den Konstruktor besteht darin,
anstelle der Felder Eigenschaften einzustellen
Property Year() As Integer Get Return yr End Get Set(ByVal Value As Integer) Throw New ArgumentOutOfRangeException("Year") End Set End Property Sub New(ByVal yr As Integer) Year = yr End Sub
Konsistenzprüfungen für die drei Werte durchführen.