Kurs VBA – Klasy – konstruktory i desktruktory

Najważniejsze klasy modelu obiektowego Excela mają przypisane zestawy zdarzeń. Klasy użytkownika mają tylko dwa zdarzenia. Nazywają się konstuktor i destkruktor. Pierwsze uruchamia się w momencie inicjalizacji klasy, drugie w momencie jej deinicjalizacji.

Deklaruje się je następująco w module klasy:

Procedurę Class_Initialize nazywamy konstruktorem a procedurę Class_Terminate destruktorem.

Używam teraz moją klasę w krótkim programie.

Po uruchomieniu pokażą się kolejno trzy komunikaty:

  1. Start
  2. Hello
  3. Koniec

Poszczególne zdarzenia wykonują się w tych miejscach:

 

Do czego mogą być używane konstruktory i desktruktory?

Najlepiej używać je do inicjalizacji wartości atrybutów klasy. Niektóre atrybuty też są mogą być obiektami i należy im nadać wartość przy pomocy set..new.

Należy uważać, aby nie nadużywać konstruktorów, może to doprowadzić do zmniejszenia czytelności kodu. Zawartość konstruktora i destruktora jest w pewien sposób „ukryta” względem głównych procedur.

Widać powyżej tylko wywołanie procedury WyswietlDane, która prawdopodobnie wyświetla jakieś dane. Niestety programista klasy cls_Raport postanowił ukryć dużo funkcjonalności w konstruktorze i destruktorze. Jest tam pobieranie danych od użytkownika oraz zapisywanie na koniec do pliku. Gdyby umieścił ten kod w zwykłych metodach, użycie klasy byłoby bardziej przejrzyste:

 

Atrybuty i właściwości Spis treści

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *