Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Určuje jedno nebo více rozhraní nebo členů rozhraní, které musí být implementovány v definici třídy nebo struktury, ve které se zobrazí.
Syntaxe
Implements interfacename [, ...]
' -or-
Implements interfacename.interfacemember [, ...]
Součástky
interfacename
Povinné. Rozhraní, jehož vlastnosti, procedury a události mají být implementovány odpovídajícími členy třídy nebo struktury.
interfacemember
Povinné. Člen rozhraní, které se implementuje.
Poznámky
Rozhraní je kolekce prototypů představujících členy (vlastnosti, procedury a události), které rozhraní zapouzdřuje. Rozhraní obsahují pouze deklarace pro členy; třídy a struktury implementují tyto členy. Další informace naleznete v tématu Rozhraní.
Příkaz Implements musí okamžitě následovat za příkazem nebo Structure příkazemClass.
Při implementaci rozhraní je nutné implementovat všechny členy deklarované v rozhraní. Vynechání jakéhokoli člena se považuje za chybu syntaxe. Pokud chcete implementovat jednotlivé členy, zadáte implements klíčové slovo (které je oddělené od Implements příkazu), když deklarujete člen ve třídě nebo struktuře. Další informace naleznete v tématu Rozhraní.
Třídy mohou používat privátní implementace vlastností a procedur, ale tyto členy jsou přístupné pouze přetypováním instance implementační třídy do proměnné deklarované jako typu rozhraní.
Příklad 1
Následující příklad ukazuje, jak použít Implements příkaz k implementaci členů rozhraní. Definuje rozhraní pojmenované ICustomerInfo událostí, vlastností a procedurou. Třída customerInfo implementuje všechny členy definované v rozhraní.
Public Interface ICustomerInfo
Event UpdateComplete()
Property CustomerName() As String
Sub UpdateCustomerStatus()
End Interface
Public Class customerInfo
Implements ICustomerInfo
' Storage for the property value.
Private customerNameValue As String
Public Event UpdateComplete() Implements ICustomerInfo.UpdateComplete
Public Property CustomerName() As String _
Implements ICustomerInfo.CustomerName
Get
Return customerNameValue
End Get
Set(ByVal value As String)
' The value parameter is passed to the Set procedure
' when the contents of this property are modified.
customerNameValue = value
End Set
End Property
Public Sub UpdateCustomerStatus() _
Implements ICustomerInfo.UpdateCustomerStatus
' Add code here to update the status of this account.
' Raise an event to indicate that this procedure is done.
RaiseEvent UpdateComplete()
End Sub
End Class
Všimněte si, že třída customerInfo používá Implements příkaz na samostatném řádku zdrojového kódu k označení, že třída implementuje všechny členy ICustomerInfo rozhraní. Každý člen třídy pak použije Implements klíčové slovo jako součást jeho deklarace členu, aby bylo uvedeno, že implementuje tento člen rozhraní.
Příklad 2
Následující dva postupy ukazují, jak můžete použít rozhraní implementované v předchozím příkladu. Chcete-li otestovat implementaci, přidejte tyto postupy do projektu a zavolejte proceduru testImplements .
Public Sub TestImplements()
' This procedure tests the interface implementation by
' creating an instance of the class that implements ICustomerInfo.
Dim cust As ICustomerInfo = New customerInfo()
' Associate an event handler with the event that is raised by
' the cust object.
AddHandler cust.UpdateComplete, AddressOf HandleUpdateComplete
' Set the CustomerName Property
cust.CustomerName = "Fred"
' Retrieve and display the CustomerName property.
MsgBox("Customer name is: " & cust.CustomerName)
' Call the UpdateCustomerStatus procedure, which raises the
' UpdateComplete event.
cust.UpdateCustomerStatus()
End Sub
Sub HandleUpdateComplete()
' This is the event handler for the UpdateComplete event.
MsgBox("Update is complete.")
End Sub