Sdílet prostřednictvím


Interface – příkaz (Visual Basic)

Deklaruje název rozhraní a zavádí definice členů, které zahrnuje rozhraní.

[ <attributelist> ] [ accessmodifier ] [ Shadows ] _
Interface name [ ( Of typelist ) ]
    [ Inherits interfacenames ]
    [ [ modifiers ] Property membername ]
    [ [ modifiers ] Function membername ]
    [ [ modifiers ] Sub membername ]
    [ [ modifiers ] Event membername ]
    [ [ modifiers ] Interface membername ]
    [ [ modifiers ] Class membername ]
    [ [ modifiers ] Structure membername ]
End Interface

Části

Termín

Definice

attributelist

Nepovinné.Viz seznam atributů.

accessmodifier

Nepovinné.Může být jeden z následujících:

Viz téma Úrovně přístupu v jazyce Visual Basic.

Shadows

Nepovinné.Viz stíny.

name

Povinné.Název tohoto rozhraní.Viz téma Deklarované názvy elementu (Visual Basic).

Of

Nepovinné.Určuje, že toto je obecné rozhraní.

typelist

Požadováno, pokud použijete Of – klauzule (Visual Basic) klíčové slovo.Seznam parametrů typu tohoto rozhraní.Volitelně každý parametr typu lze deklarovat varianty pomocí In a Out generic modifikátory.Viz seznamu Typ.

Inherits

Nepovinné.Označuje, že toto rozhraní dědí atributy a členy rozhraní nebo jiného rozhraní.Viz téma Inherits – příkaz.

interfacenames

Požadováno, pokud použijete Inherits prohlášení.Názvy rozhraní, z něhož pochází toto rozhraní.

modifiers

Nepovinné.Příslušných parametrů pro člen rozhraní definované.

Property

Nepovinné.Vlastnost, která je členem rozhraní definuje.

Function

Nepovinné.Definuje Function postup, který je součástí rozhraní.

Sub

Nepovinné.Definuje Sub postup, který je součástí rozhraní.

Event

Nepovinné.Definuje událost, která je členem rozhraní.

Interface

Nepovinné.Definuje rozhraní, která je vnořená uvnitř tohoto rozhraní.Definice vnořené rozhraní musí ukončit s End Interface prohlášení.

Class

Nepovinné.Definuje třídu, která je členem rozhraní.Definice třídy člen musí ukončit s End Class prohlášení.

Structure

Nepovinné.Definuje strukturu, která je členem rozhraní.Definice struktury členské musí ukončit s End Structure prohlášení.

membername

Povinné pro každou vlastnost, postup, událostí, rozhraní, třídy nebo struktury definované jako člen rozhraní.Název člena.

End Interface

Ukončí Interface definice.

Poznámky

Rozhraní definuje sadu členů, jako například vlastnosti a postupy, které třídy a struktur implementovat.Rozhraní definuje podpisy členů a není jejich vnitřní činnost.

Třídy nebo struktury implementuje rozhraní zadáním kódu pro každého člena definované rozhraní.Nakonec aplikace vytvoří instanci této třídy nebo struktury, objekt existuje a spustí v paměti.Další informace naleznete v tématu Objekty a třídy v jazyce Visual Basic a Rozhraní (Visual Basic).

Můžete použít Interface pouze na úrovni oboru názvů nebo modulu.To znamená prohlášení kontextu pro rozhraní musí být zdrojový soubor, obor názvů, třídu, strukturu, modulu nebo rozhraní a nemůže být postup nebo blokovat.Další informace naleznete v tématu Kontexty deklarace a výchozí úrovně přístupu (Visual Basic).

Výchozí rozhraní Friend (Visual Basic) přístup.Můžete nastavit jejich úrovně přístupu s modifikátory přístupu.Další informace naleznete v tématu Úrovně přístupu v jazyce Visual Basic.

Pravidla

  • Vnoření rozhraní. Můžete definovat v rámci jiného jedno rozhraní.Vnější rozhraní se nazývá obsahující rozhraní, se nazývá vnitřní rozhraní vnořené rozhraní.

  • Deklarace člena. Když deklarujete jako člen rozhraní vlastnost nebo proceduru, definování pouze podpis vlastnost nebo proceduru.To zahrnuje typ prvku (vlastnost nebo proceduru), její parametry a typy parametrů a jejího typu návratu.Z tohoto důvodu definice členu používá pouze jeden řádek kódu a ukončující příkazy, například End Function nebo End Property nejsou platné v rozhraní.

    Naopak při definování výčet nebo strukturu, nebo vnořené třídy nebo rozhraní, je nutné zahrnout jejich členové data.

  • Modifikátory člena. Při definování členy v modulu nelze použít žádné modifikátory přístupu ani můžete určit Shared (Visual Basic) nebo jakýkoli postup modifikátor, s výjimkou Přetížení (Visual Basic).U každého člena můžete deklarovat Shadows (Visual Basic), a pomocí Výchozí (Visual Basic) při definování vlastností, stejně jako ReadOnly (Visual Basic) nebo WriteOnly (Visual Basic).

  • Dědičnost. Pokud používá rozhraní Inherits – příkaz, můžete zadat jeden nebo více základních rozhraních.Dvě rozhraní může dědit i v případě, že každý člen se stejným názvem definovat.Pokud tak učiníte, musí kód prováděcí určete člen implementuje pomocí název kvalifikace.

    Rozhraní nemůže dědit od jiného rozhraní s více restriktivní úroveň přístupu.Například Public nelze zdědit rozhraní Friend rozhraní.

    Rozhraní nemůže dědit od ní vnořené rozhraní.

  • Implementace. Když používá třídy Implements – klauzule (Visual Basic) prohlášení implementovat toto rozhraní je musí implementovat každý člen definované v rámci rozhraní.Navíc každý podpis v prováděcích kódu musí přesně odpovídat definované v tomto rozhraní odpovídající podpis.Název člena v prováděcích kódu však nemá odpovídající název členu definované v rozhraní.

    Třída je provádění procedury, jej nelze určit postup jako Shared.

  • Výchozí vlastnost. Rozhraní můžete zadat maximálně jednu vlastnost jako jeho výchozí vlastnost, které lze odkazovat bez použití názvu vlastnosti.Určit tuto vlastnost s jejím Výchozí (Visual Basic) modifikátor.

    Všimněte si, že to znamená pouze v případě, že žádný dědí můžete definovat rozhraní výchozí vlastnost.

Chování

  • Úroveň přístupu. Implicitně mají všechny členy rozhraní Public (Visual Basic) přístup.Při definování člen nelze použít žádné modifikátor přístupu.Implementace rozhraní třídy však můžete deklarovat úroveň přístupu pro každého člena implementováno.

    Pokud přiřazujete instanci třídy proměnné, úroveň přístupu svých členů závisí na zda datový typ proměnné je základní rozhraní nebo prováděcí třídy.To ukazuje následující příklad.

    Public Interface IDemo
        Sub doSomething()
    End Interface 
    Public Class implementIDemo
        Implements IDemo
        Private Sub doSomething() Implements IDemo.doSomething
        End Sub 
    End Class 
    Dim varAsInterface As IDemo = New implementIDemo()
    Dim varAsClass As implementIDemo = New implementIDemo()
    

    Pokud přístup členů třídy prostřednictvím varAsInterface, všichni mají přístup veřejnosti.Však pokud přístup členů prostřednictvím varAsClass, Sub postup doSomething má soukromý přístup.

  • Obor. Rozhraní je v oboru v celém oboru názvů, třídu, strukturu nebo modulu.

    Rozsah každého člena rozhraní je celé rozhraní.

  • Doba života. Rozhraní sám nemá životnost ani provést jeho členů.Pokud třída implementuje rozhraní a objekt je vytvořen jako instance, že třída objektu má životnost v rámci aplikace, ve kterém je spuštěna.Další informace naleznete v části "Doba trvání" v Class – příkaz (Visual Basic).

Příklad

V následujícím příkladu Interface příkaz definovat rozhraní s názvem thisInterface, musí být prováděna s Property prohlášení a Function prohlášení.

Public Interface thisInterface
    Property thisProp(ByVal thisStr As String) As Char 
    Function thisFunc(ByVal thisInt As Integer) As Integer 
End Interface

Všimněte si, že Property a Function prohlášení nezavedou bloky s End Property a End Function v rámci rozhraní.Rozhraní definuje podpisy svých členů.Plně Property a Function se bloky v třídy, která implementuje thisInterface.

Viz také

Referenční dokumentace

Class – příkaz (Visual Basic)

Module – příkaz

Structure – příkaz

Property – příkaz

Function – příkaz (Visual Basic)

Sub – příkaz (Visual Basic)

In (generický modifikátor) (Visual Basic)

Out (generický modifikátor) (Visual Basic)

Koncepty

Obecné typy v jazyce Visual Basic (Visual Basic)

Odchylky obecných rozhraní (C# and Visual Basic)

Další zdroje

Rozhraní (Visual Basic)