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:

See Poziomy dostępu w Visual Basic.

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)

Module — Instrukcja

Property — Instrukcja

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)

Inne zasoby

Obiekty i klasy w Visual Basic