Udostępnij za pośrednictwem


Instrukcja klasy (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 programie 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 Częściowe (Visual Basic).

name

Wymagane.Nazwa tej klasy.See Nazwy elementów deklarowanej (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 Dziedziczy instrukcji.

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 Instrukcja implementuje.

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 języku 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 Konteksty deklaracji i poziomy dostępu domyślne (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 Operator New (Visual Basic) klauzuli lub przez funkcję, taką jak CreateObject.Kończy się, gdy wszystkie zmienne, wskazując wystąpienia zostały ustawione na Nic (Visual Basic) lub wystąpienia innych klas.

Domyślnie klasy Przyjaciel (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 programie 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 Dziedziczy instrukcji, 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 Instrukcja implementuje, 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 Klauzula implementuje (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 Domyślne (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 Publicznego (Visual Basic) dostępu z wyjątkiem zmiennych i stałych, które domyślnie Prywatne (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 Moduł instrukcji.

    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 języku 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 języku 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

Jak: Użyj klasą rodzajową (Visual Basic)

Informacje

Interfejs instrukcji (Visual Basic)

Moduł instrukcji

Właściwość instrukcji

Koncepcje

Struktury i klas (Visual Basic)

Okres istnienia obiektu: w jaki sposób obiekty są tworzone i zniszczone (Visual Basic)

Typy rodzajowe w języku Visual Basic (VB)

Inne zasoby

Obiekty i klasy w języku Visual Basic