Implements 關鍵字和 Implements 陳述式
更新:2007 年 11 月
Visual Basic 保留字 Implements 可以兩種方式來使用。Implements 陳述式 (Statement) 表示由類別或結構實作的介面。Implements 關鍵字表示由類別成員或結構成員實作的特定介面成員。
實作陳述式
如果類別或結構會實作一個或多個介面,則必須在 Class 或 Structure 陳述式後面,立即加入 Implements 陳述式。Implements 陳述式需要介面的逗號分隔清單,該介面是由類別來實作。類別或結構必須使用 Implements 關鍵字來實作所有介面成員。
Implements 關鍵字
Implements 關鍵字需要所實作介面成員的逗號分隔清單。一般只指定一個介面成員,但您可以指定多個成員。介面成員的規格是由介面名稱 (必須在類別中的實作陳述式內指定)、句號,以及要實作的成員函式、屬性或事件名稱所組成。實作介面成員的成員名稱可使用任何合法的識別項,而且不限於 Visual Basic 之前版本所使用的 InterfaceName_MethodName 規格。
例如,下列程式碼顯示如何宣告可實作介面方法的 Sub1 副程式:
Class Class1
Implements interfaceclass.interface2
Sub Sub1(ByVal i As Integer) Implements interfaceclass.interface2.Sub1
End Sub
End Class
實作成員的參數型別和傳回型別 (Return Type) 必須與介面中的介面屬性 (Property) 或成員宣告相符。實作介面項目最常見的方式是使用名稱與介面相同的成員,如以上範例所示。
若要宣告介面方法的實作,您可以使用任何執行個體 (Instance) 方法宣告的合法屬性 (Attribute),包括 Overloads、Overrides、Overridable、Public、Private、Protected、Friend、Protected Friend、MustOverride、Default 和 Static。Shared 屬性不是合法的,因為它定義類別而非執行個體方法。
您也可以使用 Implements 來寫入單一方法,該方法會實作於介面中定義的多個方法,如下列範例所示:
Class Class2
Implements I1, I2
Protected Sub M1() Implements I1.M1, I1.M2, I2.M3, I2.M4
End Sub
End Class
您可以使用私用成員來實作介面成員。當私用成員實作介面的成員時,雖然這個成員無法直接在類別的物件變數取得,但可經由介面取得。