13.01.2015 Aufrufe

Bauinformatik Teil 1 - Baustatik-Info-Server

Bauinformatik Teil 1 - Baustatik-Info-Server

Bauinformatik Teil 1 - Baustatik-Info-Server

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Seite 40 <strong>Bauinformatik</strong> - <strong>Teil</strong> 1 - Übungsskript / 2011<br />

9 VBA-Objekte<br />

Objekte oder Klassen im Sinne der OOP (objektorientierten Programmierung) werden in VBA<br />

mit Klassenmodul bezeichnet. Die Klassenbestandteile (siehe UML in Abschnitt C) bestehen<br />

aus den folgenden Komponenten.<br />

• Die Bezeichnung des Klassenmoduls ist die Klassenbezeichnung.<br />

• Globale Variablen eines Klassenmoduls sind die Klassenattribute.<br />

• Die Funktionen und Programme in einem Klassenmodul sind die Methoden der Klasse.<br />

Auf alle Mechanismen der Vererbung von Klassen (Generalisierung, Polymorphismus), die in<br />

den meisten Programmiersprachen der OOP implementiert werden, wird in VBA aus Sicherheitsgründen<br />

verzichtet.<br />

9.1 Konstruktor und Destruktor<br />

Jeder Klassenmodul hat die folgenden Methoden. 11<br />

• Der Konstruktor Class Initialize<br />

Diese Methode wird aufgerufen, wenn eine Instanz des Klassenmoduls mit dem new-<br />

Operator (set s = new Stab) erzeugt wird. Im Beispiel wird das Objekt Stab initialisiert.<br />

Es werden Fläche und E-Modul vorbelegt. Es werden die Instanzen der Knoten-<br />

Klassenmodul für die Stabenden erzeugt.<br />

Private Sub Class_Initialize()<br />

Set Ka = new Knoten<br />

Set Kb = new Knoten<br />

Fl = 0#<br />

Em = 210000#<br />

End Sub<br />

• Der Destruktor Class Terminate<br />

Wenn eine Instanz eines Klassenmoduls zerstört wird, d.h. aus dem Speicher entfernt<br />

wird, wird zunächst diese Methode aufgerufen, um dem Programm die automatisierte<br />

Möglichkeit zu bieten, Aufräumarbeiten auszuführen. Das Zerstören einer Instanz erfolgt<br />

mit dem nothing-Operator (set s = nothing).<br />

Im nachfolgenden Beispiel werden vor dem Entfernen eines Stab-Objekts dessen beide<br />

Knoten-Instanzen entfernt. 12<br />

Private Sub Class_Terminate()<br />

Set Ka = nothing<br />

Set Kb = nothing<br />

End Sub<br />

11 Die Beispiele dieses Abschnitts beziehen sich auf die Objekte Knoten und Stab des Abschnitts 9.4).<br />

12 Da in VBA nur dann ein Objekt vernichtet wird, wenn alle Verweise auf nothing gesetzt werden, können alle<br />

Knoten-Instanzen durch den dargestellten Destruktor vernichtet werden.<br />

E. Baeck

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!