Warum noch ein Access-Buch?
Für wen ist das Buch?
Jetzt bestellen
+ direkter Download des eBooks!
Nur EUR 59,95!
Fehler gefunden?
Bitte melden!
Wünsche an das Buch?
Her damit!
Was denken die Leser über dieses Buch?
Lesen Sie aktuelle Rezensionen!
Kapitel des noch nicht veröffentlichten Buchs zum Downloaden, Probelesen und Kommentieren
Beispieldatenbanken
Zusätzliches Material

Das Buch im HTML-Format

Für unbestimmte Zeit bieten Addison-Wesley und André Minhorst den kompletten Inhalt des Buchs als Download an. Schauen Sie rein und informieren Sie sich über den Inhalt! Und wenn Ihnen das Buch nützlich erscheint und Sie glauben, dass Sie etwas gelernt haben oder durch das Gelesene sogar etwas Zeit und somit Geld bei Ihrer Arbeit einsparen konnten, können Sie sich ja beim Autor und beim Verlag revanchieren - beispielsweise durch den Kauf dieses Buchs.

Am schönsten wäre es natürlich, wenn Sie das Buch direkt hier bestellen - Sie erhalten das Buch dann direkt vom Verlag, und der Autor und Verlag haben dann noch mehr davon, als wenn Sie es anderswo kaufen.

Danke für Ihr Interesse!

15.4.1 Öffentliche und nicht öffentliche Eigenschaften

15.4.2 Zugriff auf die Eigenschaften einer Klasse kontrollieren

Sie müssen die Eigenschaften also auf irgendeine Weise vor dem direkten Zugriff von außen schützen und damit die Kapselung realisieren. Dazu sind zwei Schritte erforderlich.

  • Deklarieren Sie die Variablen der Klasse mit dem Schlüsselwort Private und verhindern Sie so den direkten Zugriff von außen.
  • Erstellen Sie öffentliche Methoden für den kontrollierten Zugriff auf die privaten Eigenschaften.
  • Schritt 1 lässt sich leicht in die Tat umsetzen. Das folgende Listing enthält die als Private deklarierten Eigenschaften. Außerdem hat jede Eigenschaft ein m als Präfix erhalten. Damit kennzeichnet man die Member-Variablen eines Objekts - das sind Variablen, die zwar privat sind, aber über entsprechende Prozeduren gelesen oder geschrieben werden können.

    Private mBesitzer As clsKunde
    Private mKontonummer As Long
    Private mKontostand As Currency
    Private mDispositionsrahmen As Currency

    Listing 15.8: Deklaration privater Variablen in einem Klassenmodul

    Nachdem die Variablen nun vor dem unkontrollierten Zugriff von außen geschützt sind, können Sie die Möglichkeit zum Lesen und Schreiben der Variable nach Bedarf freigeben. Dazu verwenden Sie so genannte Eigenschaftsprozeduren. Es gibt drei unterschiedliche Arten von Eigenschaftsprozeduren:

  • Eine Property Get-Prozedur gibt je nach dem Variablentyp einen Verweis auf ein Objekt oder den Wert der Variablen zurück.
  • Eine Property Let-Prozedur schreibt den als Parameter übergebenen Wert in die angegebene Variable. Diese Prozedurart können Sie nur verwenden, wenn die Variable einen konkreten Wert erhält.
  • Eine Property Set-Prozedur weist der angegebenen Variablen einen Verweis auf das als Parameter übergebene Objekt zu. Diese Prozedurart ist das Pendant für die Property Let-Prozedur für Objektvariablen.
  • Skalare Variable versus Objektvariable

    Bei der Verwendung von Eigenschafts-Prozeduren für den Zugriff auf skalare Variablen und Objektvariablen gibt es einige Unterschiede. Der Grund sind Unterschiede zwischen den Datentypen selbst. Damit Sie jeweils den richtigen Fall auswählen, finden Sie nachfolgend eine kurze Erläuterung und Einordnung dieser beiden Variablenarten. Skalare Variablen sind Variablen mit eingebauten Datentypen wie String, Integer oder Long, Aufzählungstypen und benutzerdefinierte Datentypen. Diese Datentypen haben gemein, dass sie konkrete Werte enthalten und je nach Datentyp den entsprechenden Speicherplatz reservieren. Die Zuweisung von Werten an solche Datentypen erfolgt durch Verwendung des Gleichheitszeichens und des entsprechenden Wertes:

    intZahl = 1

    Im Gegensatz dazu enthalten Objektvariablen kein Objekt, sondern lediglich einen Verweis darauf. Das bringt einige Besonderheiten mit sich.

  • Speicherplatz wird nach der Deklaration nur für den Verweis selbst reserviert (Zeiger des Datentyps Long).
  • Der Verweis auf das Objekt erfordert die Verwendung des Schlüsselwortes Set:
  • Set objKunde = New clsKunde

  • Es können auch mehrere Objektvariablen auf dasselbe Objekt verweisen:
  • Set objKunde = New clsKunde Set objPartner = objKunde

  • Vergleiche zweier Objektvariablen erfolgen über den Operator Is:
  • If objKunde Is objPartner Then MsgBox "Kunde und Partner sind gleich." End If

  • Die Prüfung, ob eine Objektvariable auf ein Objekt verweist, erfolgt über den Vergleich mit dem Operator Is und dem Vergleichswert Nothing:
  • If objKunde Is Nothing Then MsgBox "Kunde ist nicht gesetzt." End If

  • Das Aufheben des Verweises erfolgt beim Verlassen des Gültigkeitsbereichs (also etwa beim Beenden der Prozedur, in der der Verweis gesetzt wurde) oder durch explizites Setzen des Verweises auf den Wert Nothing.
  • Tipp: Setzen Sie jede erzeugte Objektvariable per Code wieder auf den Wert Nothing. Manchmal benötigt man einen Verweis auf eine Objektvariable längst nicht mehr, obwohl ihr Gültigkeitsbereich noch nicht verlassen wurde. Zu Gunsten einer ressourcenschonenden Programmierweise sollten Sie eine Objektvariable daher auf den Wert Nothing setzen, sobald diese nicht mehr benötigt wird. Am besten legen Sie beim Schreiben der Zeile zum Zuweisen des Objektverweises auch direkt eine Zeile an, die die passende Objektvariable wieder gleich Nothing setzt - so vergessen Sie das anschließend nicht.

    Nächster Abschnitt:

    15.4.3 Property Let: Setzen von skalaren Variablen

    © 2006-2008 André Minhorst Alle Rechte vorbehalten.