Visual Basic .NET: Konstante Variablen

Aus Wikibooks

Konstante Variablen sind relativ einfach zu verstehen. Es handelt sich um Variablen, deren Wert konstant ist. Ihnen darf nur ein einziges Mal ein Wert zugewiesen werden, nämlich bei der Initialisierung. Während Variablen auch ohne Wert deklariert werden dürfen und nachher durch eine Zuweisungsoperation einen Wert erhalten können, ist beides bei Konstanten nicht möglich. Ihnen muss während der Deklaration auch ein Wert zugewiesen werden. Die Deklaration von Konstanten unterscheidet sich kaum von der Deklaration von Variablen. Das Schlüsselwort Dim muss lediglich durch Const ersetzt werden.

Code:  

Dim a As Integer = 1    'Variable
Const b As Integer = 2  'Konstante

Nach der Deklaration können Konstanten wie Variablen verwendet werden, mit der Ausnahme, dass Zuweisungen nicht möglich sind. Die folgenden Beispiele stellen gültige und fehlerhafte Anweisungen und Befehle gegenüber. Gute Entwicklungsumgebungen weisen Sie auch darauf hin, wenn Sie versuchen, einer Konstante einen Wert zuzuweisen.

Code:  

Const a As Integer = 1      'OK
Dim b As Integer = 3 * a    'OK (Der Wert der Konstanten wird nicht verändert.)
a = 2                       'Fehler! (Zuweisung zu einer Konstanten nicht erlaubt)
Const c As Integer          'Fehler! (Konstante wird ohne Wert deklariert)

Sie können Konstanten auch ohne Datentyp deklarieren. Visual Basic wählt dann den Standarddatentyp Object aus. Davon rate ich Ihnen jedoch dringend ab, da diese Praxis einerseits die Unübersichtlichkeit des Codes erhöht und andererseits wichtige Regulierungsinstrumente aus der Hand des Programmierers und des Compilers nimmt.

Der Nutzen von Konstanten besteht in drei Punkten: Erstens verhindern Konstanten auf eine werkseitig implementierte und sehr komfortable Art und Weise das Ändern von Werten, die nicht geändert werden sollten, z.B. sollte die Kreiszahl Pi nicht geändert werden, es handelt sich ja auch um eine Naturkonstante. Außerdem erhöhen Konstanten die Wartbarkeit und Lesbarkeit von Code. Dazu das folgende Beispiel, das absolute Werte verwendet. Problem: Was soll die 20?

Code:  

AnzahlSchüler = AnzahlKlassen * 20

Durch eine Konstante wird die Unklarheit beseitigt.

Code:  

Const AnzahlSchülerProKlasse As Integer = 20
AnzahlSchüler = AnzahlKlassen * AnzahlSchülerProKlasse

Das dritte Argument für Konstanten: Oft wird ein Wert mehrfach für eine ähnliche Berechnung verwendet. Im vorigen Beispiel würde man wahrscheinlich mehrmals die Anzahl der Schüler berechnen (z.B. für die jeweiligen Klassen und Klassenstufen). Hier hat die Verwendung einer Konstante auch den Vorteil, dass man den Wert im Code nur einmal aktualisieren muss. Angenommen, die Anzahl der Schüler pro Klasse ändert sich auf 22. Hätte man absolute Werte und nicht Konstanten verwendet, müsste man jeden dieser Werte im Code aufsuchen und ändern, wobei man sich womöglich noch vertippt oder ein Vorkommnis übersieht. Bei Verwendung einer Konstanten muss man nur einen Wert verändern, der Rest aktualisiert sich dann automatisch.