Class — Instrukcja (Visual Basic)
Deklaruje nazwę klasy i wprowadza definicji zmiennych, właściwości, zdarzenia i procedury, które składa się z tej klasy.
[ <attributelist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] [ Partial ] _
Class name [ ( Of typelist ) ]
[ Inherits classname ]
[ Implements interfacenames ]
[ statements ]
End Class
Części
Termin |
Definicja |
attributelist |
Opcjonalne.Zobacz listy atrybutów. |
accessmodifier |
Opcjonalne.Może mieć jedną z następujących czynności:
|
Shadows |
Opcjonalne.Zobacz cienie. |
MustInherit |
Opcjonalne.See MustInherit (Visual Basic). |
NotInheritable |
Opcjonalne.See NotInheritable (Visual Basic). |
Partial |
Opcjonalne.Wskazuje częściowe definicji klasy.See Partial (Visual Basic). |
name |
Wymagane.Nazwa tej klasy.See Zadeklarowane nazwy elementów (Visual Basic). |
Of |
Opcjonalne.Określa, że jest klasą rodzajową. |
typelist |
Wymagane w przypadku użycia z słowa kluczowego.Lista parametrów typu dla tej klasy.Zobacz typu Lista. |
Inherits |
Opcjonalne.Wskazuje, że ta klasa dziedziczy członkowie innej klasy.See Inherits — Instrukcja. |
classname |
Wymagane w przypadku użycia Inherits instrukcji.Nazwa klasy, z którego pochodzi tej klasy. |
Implements |
Opcjonalne.Wskazuje, że ta klasa implementuje członków jednej lub więcej interfejsów.See Implements — Instrukcja. |
interfacenames |
Wymagane w przypadku użycia Implements instrukcji.Nazwy interfejsów, które implementuje tej klasy. |
statements |
Opcjonalne.Instrukcje, które definiują członków tej klasy. |
End Class |
Wymagane.Kończy działanie Class definicji. |
Uwagi
A Class instrukcji definiuje nowy typ danych.A klasy jest podstawowy blok konstrukcyjny Programowanie zorientowane obiektowo (OOP).Aby uzyskać więcej informacji, zobacz Obiekty i klasy w Visual Basic.
Można użyć Class tylko na poziomie obszaru nazw lub moduł.Oznacza to, kontekście deklaracji dla klasy musi być plikiem źródłowym, obszaru nazw, klasy, struktury, moduł lub interfejsu i nie może być procedurą lub bloku.Aby uzyskać więcej informacji, zobacz Kontekst deklaracji i domyślne poziomy dostępu (Visual Basic).
Każde wystąpienie klasy ma niezależne od wszystkich innych przypadkach okres istnienia klucza.Ten okres istnienia rozpoczyna się, gdy jest tworzony przez New — Operator (Visual Basic) klauzuli lub przez funkcję, taką jak CreateObject.Kończy się, gdy wszystkie zmienne, wskazując wystąpienia zostały ustawione na Nothing (Visual Basic) lub wystąpienia innych klas.
Domyślnie klasy Friend (Visual Basic) dostępu.Można dostosować ich poziomy dostępu z modyfikatorów dostępu.Aby uzyskać więcej informacji, zobacz Poziomy dostępu w Visual Basic.
Zasady
Zagnieżdżanie. Można zdefiniować jedną klasę w innym.Klasy zewnętrzne jest nazywany zawierającego klasę, i Klasa wewnętrzna nosi nazwę zagnieżdżonych klasy.
Dziedziczenie. Jeśli używa klasy Inherits — Instrukcja, można określić tylko jeden podstawowej klasy lub interfejsu.Klasa nie może dziedziczyć z więcej niż jeden element.
Klasa nie może dziedziczyć z innej klasy z bardziej restrykcyjny poziom dostępu.Na przykład Public nie może dziedziczyć po klasie Friend klasy.
Klasa nie dziedziczy z klasy w nim zagnieżdżone.
Implementacja. Jeśli używa klasy Implements — Instrukcja, musi implementować każdy członek zdefiniowane przez każdego interfejsu można określić w interfacenames.Wyjątek ten jest reimplementation członek klasy podstawowej.Aby uzyskać więcej informacji, zobacz "Reimplementation" w Implements — Klauzula (Visual Basic).
Właściwość Default. Klasę można określić, co najwyżej jedną właściwość jako jej domyślną właściwość.Aby uzyskać więcej informacji, zobacz Default (Visual Basic).
Zachowanie
Poziom dostępu. W obrębie klasy można zadeklarować każdego członka, z poziomu programu access.Domyślnie członkowie klasy Public (Visual Basic) dostępu z wyjątkiem zmiennych i stałych, które domyślnie Private (Visual Basic) dostępu.Klasa zastrzegł dostęp więcej niż jednego ze swoich członków, pierwszeństwo ma poziom dostępu do klasy.
Zakres. Klasa jest w zasięgu całej jego zawierające obszaru nazw, klasy, struktury lub moduł.
Zakres każdego członka klasy jest całej klasy.
Okres istnienia. Visual Basic nie obsługuje klasy statyczne.Funkcjonalny odpowiednik klasy statyczne są udostępniane przez moduł.Aby uzyskać więcej informacji, zobacz Module — Instrukcja.
Członkowie klasy mają okresy istnienia, w zależności od tego, jak i gdzie są one zgłoszone.Aby uzyskać więcej informacji, zobacz Okres istnienia w Visual Basic.
Kwalifikacji. Kod poza klasą musi kwalifikować się do nazwy członka z nazwą tej klasy.
Jeśli kod wewnątrz klasy zagnieżdżonych wykonuje niekwalifikowanych odwołanie do elementu programowania, Visual Basic dla elementu najpierw poszukuje w klasie zagnieżdżonych, a następnie w jego klasa zawierająca i tak dalej peryferyjnych zawierające element.
Klas i moduły
Elementy te mają wiele podobieństw, ale istnieją pewne ważne różnice.
W terminologii. Poprzednie wersje programu Visual Basic rozpoznaje dwa typy modułów: moduły klas (pliki .cls) i moduły standardowe (pliki .bas).Bieżąca wersja wywołuje te klasy i modułów, odpowiednio.
Członkowie udostępnionego. Można kontrolować, czy udostępniony jest członkiem klasy lub wystąpienia członka.
Orientacja obiektowa. Klasy są zorientowane obiektowo, ale nie są moduły.Można utworzyć jeden lub więcej wystąpień klasy.Aby uzyskać więcej informacji, zobacz Obiekty i klasy w Visual Basic.
Przykład
W poniższym przykładzie użyto Class instrukcji, aby zdefiniować klasę i kilku członków.
Class bankAccount
Shared interestRate As Decimal
Private accountNumber As String
Private accountBalance As Decimal
Public holdOnAccount As Boolean = False
Public ReadOnly Property balance() As Decimal
Get
Return accountBalance
End Get
End Property
Public Sub postInterest()
accountBalance = accountBalance * (1 + interestRate)
End Sub
Public Sub postDeposit(ByVal amountIn As Decimal)
accountBalance = accountBalance + amountIn
End Sub
Public Sub postWithdrawal(ByVal amountOut As Decimal)
accountBalance = accountBalance - amountOut
End Sub
End Class
Zobacz też
Zadania
Porady: używanie klasy ogólnej (Visual Basic)
Informacje
Interface — Instrukcja (Visual Basic)
Koncepcje
Struktury i klasy (Visual Basic)
Okres istnienia obiektów: w jaki sposób obiekty są tworzone i niszczone (Visual Basic)
Typy ogólne w Visual Basic (Visual Basic)