[ Pobierz całość w formacie PDF ]

ich stosować w strukturach ani modułach).
Private
Zmienne prywatne są dostępne z dowolnego punktu tej samej klasy, struktury lub modułu, ale nigdy
poza swoją macierzystą konstrukcją. Zmienne prywatne są ukrywane nawet przed składowymi klas
potomnych.
Czas życia zmiennych deklarowanych na poziomie typów obejmuje cały czas życia egzem-
plarza klasy, struktury lub modułu, do którego należą. Zmienne można deklarować jako dzielo-
ne (ze słowem kluczowym Shared) i  tym samym  umożliwić istnienie odpowiednich
wartości bez konieczności tworzenia egzemplarza klasy, struktury lub modułu. Warto jednak
pamiętać, że czas życia zmiennych dzielonych rozciąga się na cały okres funkcjonowania aplika-
cji. Wszystkie zmienne deklarowane w ciele modułu domyślnie są składowymi dzielonymi.
Stałe
Stałe (ang. constants) są w istocie zmiennymi dostępnymi tylko do odczytu. Raz ustawionej
w kodzie programu wartości zmiennej (w czasie kompilacji) nie można zmieniać. Stałe są defi-
niowane na poziomie lokalnym lub poziomie modułu za pomocą słowa kluczowego Const:
modyfikatorDostępu Const nazwa As typ = wartość
gdzie modyfikatorDostępu jest jednym z opisanych w poprzednim podrozdziale modyfika-
torów dostępu. (Modyfikatory dostępu nie są stosowane w przypadku stałych deklarowanych
wewnątrz procedur). Kiedy opcja Option Strinct jest włączona (ma wartość On), wszystkie
stałe muszą być deklarowane z konkretnym typem.
Stałe | 97
Typy wyliczeniowe
Typ wyliczeniowy (ang. enumeration) jest grupą wzajemnie powiązanych stałych całkowito-
liczbowych. Wszystkie składowe wyliczenia muszą być nie tylko egzemplarzami tego samego
typu danych, ale też typu całkowitoliczbowego (Byte, Integer, Long lub Short, a w wersji
2005 lub nowszej również SByte, UInteger, ULong lub UShort). Składowe typu wyliczeniowego
są elementami dzielonymi i dostępnymi tylko do odczytu przez cały czas życia aplikacji.
Public Enum VehicleType As Integer
bicycle = 2
tricycle = 3
passengerCar = 4
eighteenWheeler = 18
End Enum
Składowe typu wyliczeniowego można stosować w kodzie dokładnie tak jak stałe i zmienne:
Dim whatIDrive As VehicleType
whatIDrive = VehicleType.passengerCar
Typy wyliczeniowe mogą być deklarowane wyłącznie na poziomie przestrzeni nazw lub modułu
(w żadnym razie nie można ich deklarować wewnątrz procedur).
Tablice
Tablica w wielu językach programowania (włącznie z językiem Visual Basic) jest podstawową
strukturą danych. Tablice umożliwiają składowanie kolekcji egzemplarzy podobnych typów
danych lub obiektów. Każdy element znajduje się na pozycji oznaczonej unikatowym nume-
rem. W Visual Basicu indeksy tablic rozpoczynają się od zera (zero jest dolną granicą) i kończą
na zdefiniowanej górnej granicy.
Poniższe przykłady ilustrują rozmaite sposoby deklarowania tablic jednowymiarowych:
' Konstruktor niejawny: Brak rozmiaru początkowego i wartości inicjalizujących.
Dim days() As Integer
' Konstruktor jawny: Brak rozmiaru początkowego i wartości inicjalizujących.
Dim days() As Integer = New Integer( ) {}
' Konstruktor niejawny: Obecność rozmiaru początkowego, brak wartości inicjalizujących.
Dim days(6) As Integer
' Konstruktor jawny: Obecność rozmiaru początkowego, brak wartości inicjalizujących.
Dim days() As Integer = New Integer(6) {}
' Konstruktor niejawny: Rozmiar początkowy wynikający z obecności wartości inicjalizujących.
Dim days() As Integer = {1, 2, 3, 4, 5, 6, 7}
' Konstruktor jawny: Rozmiar początkowy i wartości inicjalizujące.
Dim days() As Integer = New Integer(6) {1, 2, 3, 4, 5, 6, 7}
Deklaracja tablicy może:
" wywołać (w sposób jawny lub niejawny) konstruktor tablicy;
" określić początkowy rozmiar wszystkich wymiarów tablicy lub pozostawić wszystkie roz-
miary nieokreślone;
" zainicjalizować elementy tablicy lub pozostawić ich wartości nieokreślone.
98 | Rozdział 4. Zmienne i typy danych
W Visual Basicu 6 programista mógł określać zarówno dolne, jak i górne granice dla wszystkich
wymiarów tablicy. W języku Visual Basic .NET dolną granicą (najniższym indeksem) wszystkich
tablic jest zero. Przykładowo, wyrażenie w postaci:
Dim myArray(5) As Integer
deklaruje tablicę złożoną z sześciu elementów, gdzie indeks pierwszego będzie równy 0,
a indeks ostatniego będzie równy 5.
Tablice mogą się składać z wielu wymiarów (ang. dimensions). Przykładowo, poniższy wiersz
deklaruje i inicjalizuje tablicę dwuwymiarową:
Dim rectArray(,) As Integer = {{1, 2, 3}, {4, 5, 6}}
Poniższy fragment kodu wyświetla zawartość tej tablicy:
Debug.Write(rectArray(0, 0))
Debug.Write(rectArray(0, 1))
Debug.WriteLine(rectArray(0, 2))
Debug.Write(rectArray(1, 0))
Debug.Write(rectArray(1, 1))
Debug.WriteLine(rectArray(1, 2))
' ----- Poniżej przedstawiono dane wyjściowe:
123
456
Górną granicę każdego z wymiarów tablicy można zmodyfikować za pomocą wyrażenia ReDim,
którego ogólną składnię przedstawiono poniżej:
ReDim [Preserve] nazwaTablicy(nowaGórnaGranica)
Kwalifikator Preserve powoduje, że wszystkie wartości, które istnieją w momencie wykony-
wania wyrażenia ReDim, zostaną zachowane w tablicy; w razie braku tego kwalifikatora cała
tablica zostanie wyczyszczona. Jeśli zdecydujemy się użyć tego kwalifikatora, powinniśmy
pamiętać, że modyfikacja górnej granicy może dotyczyć tylko ostatniego wymiaru tablicy.
Liczba samych wymiarów tablicy nigdy nie może być zmieniana.
Dolną i górną granicę danego wymiaru tablicy można określić odpowiednio za pomocą funkcji
LBound oraz UBound:
Dim smallArray(5) As Integer
MsgBox(UBound(smallArray)) ' Wyświetla liczbę 5.
Ponieważ dolną granicą wszystkich wymiarów tablicy jest indeks zerowy, funkcja LBound
zawsze będzie zwracała właśnie zero.
Kolekcje
Visual Basic oferuje programiście obiekt tablicy asocjacyjnej nazwany kolekcją (ang. collection).
Mimo wielu istotnych podobieństw do standardowych tablic, włącznie z występowaniem
elementów w określonym porządku, warto pamiętać o tym, co odróżnia kolekcję od tablic: jej
elementy mają postać par klucz-wartość. Elementy kolekcji można identyfikować zarówno
według pozycji, jak i według klucza, lub stosując technikę iteracyjnego przeszukiwania kolej-
nych pozycji.
Szczególnie przydatna w codziennej pracy z kolekcjami okazuje się piątka składowych klasy
Collection:
Kolekcje | 99
Metoda Add
Dodaje element do kolekcji. Poza samymi danymi można określić opcjonalny klucz, za
pośrednictwem którego będzie się można odwoływać do nowego elementu.
Metoda Clear
Usuwa wszystkie elementy z kolekcji.
Właściwość Count
Zwraca liczbę elementów składowanych w kolekcji.
Właściwość Item
Zwraca pojedynczy element składowany w kolekcji i identyfikowany albo według indeksu
(pozycji w ramach kolekcji), albo według klucza (jeśli został określony w chwili dodawa-
nia tego elementu do kolekcji).
Metoda Remove [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • razem.keep.pl