VB.NET接口范例ISpeak
我有一個朋友,他學習 VB.NET 時間還不是很長。這幾天,他對面向對象編程中的接口突然產(chǎn)生了很大的興趣。為了幫助他讓他能夠對接口有一個初步的、正確的認識,我寫了下面的例子。同時,希望本例對目前還不是很了解接口的朋友有所幫助。
VB.NET接口范例
在這個例子中,我定義了一個名為 ISpeak 的接口,它其中包括了三個簽名(請參見下面程序)。由于接口是代表一種約定或者說是一種規(guī)則,它并不包含這種約定或者規(guī)則的具體實現(xiàn)。所以,我們只需要在接口中定義簽名即可。在該接口中,包括了三個成員簽名,它們分別代表了屬性、方法以及函數(shù)。
接下來,我又定義了三個類,分別是 Baby、Children 和 Adlut ,這個三類都實現(xiàn)了上述接口。并且,在每個類實現(xiàn)接口的成員時,都給出了具體的實現(xiàn)。
來看代碼:
- '定義一個接口
- Public Interface ISpeak
- '僅定義簽名,不包含任何實現(xiàn)
- ReadOnly Property CanSpeak() As Boolean '屬性
- Sub Speak() '方法
- Function GetSpeakLevel() As SpeakLevelEnum '函數(shù)
- End Interface
- '說話水平枚舉
- Public Enum SpeakLevelEnum
- Bad '很差
- Ordinary ‘一般
- Fluent '流利
- End Enum
- Public Class Baby : Implements ISpeak '通過 Implements 關鍵字實現(xiàn)接口
- '以下是實現(xiàn)該接口的所有成員
- Public ReadOnly Property CanSpeak() As Boolean Implements ISpeak.CanSpeak
- Get
- Return False
- End Get
- End Property
- Public Function GetSpeakLevel() As SpeakLevelEnum Implements ISpeak.GetSpeakLevel
- Return SpeakLevelEnum.Bad
- End Function
- Public Sub Speak() Implements ISpeak.Speak
- Console.WriteLine("(旁白):他是一個嬰兒,還不會說話。")
- End Sub
- End Class
- Public Class Children : Implements ISpeak
- Public ReadOnly Property CanSpeak() As Boolean Implements ISpeak.CanSpeak
- Get
- Return True
- End Get
- End Property
- Public Function GetSpeakLevel() As SpeakLevelEnum Implements ISpeak.GetSpeakLevel
- Return SpeakLevelEnum.Ordinary
- End Function
- Public Sub Speak() Implements ISpeak.Speak
- Console.WriteLine("哈哈,我是一個快樂的孩子!")
- End Sub
- End Class
- Public Class Adult : Implements ISpeak
- Public ReadOnly Property CanSpeak() As Boolean Implements ISpeak.CanSpeak
- Get
- Return True
- End Get
- End Property
- Public Function GetSpeakLevel() As SpeakLevelEnum Implements ISpeak.GetSpeakLevel
- Return SpeakLevelEnum.Fluent
- End Function
- Public Sub Speak() Implements ISpeak.Speak
- Console.WriteLine("OK, 我是成年人了,不但能流利地說母語,還會說外語。")
- End Sub
- End Class
- '程序入口點
- Public Class AppStart
- Shared Sub Main()
- Dim person1 As New Baby
- Dim person2 As New Children
- Dim person3 As New Adult
- person1.Speak()
- person2.Speak()
- person3.Speak()
- If person2.GetSpeakLevel > SpeakLevelEnum.Bad Then
- Console.WriteLine(" Person2 的說話水平不算很差")
- End If
- If person1.CanSpeak Then
- Console.WriteLine(" Person1 會說話")
- Else
- Console.WriteLine(" Person1 不會說話")
- End If
- Console.Read()
- End Sub
- End Class
在 VS2005/2008 中建立一個“控制臺項目”項目,將默認的 Module1.vb 刪除,在該項目中添加一個類,將上述代碼復制到這個類中覆蓋原有內(nèi)容,即可運行調試。
VB.NET接口范例學習經(jīng)驗
關于接口,學習總結如下:
1、定義接口名,應按照慣例,將接口名的***個字母命名為 I,如上例中的 ISpeak,這樣做的目的是見名知義,原因是因為接口的英語單詞是 Interface;
2、由于接口中的成員簽名必須在實現(xiàn)該接口的類中給出其具體實現(xiàn),所以它們前面不用加訪問級別修飾符(Public、Privated 等);
3、類通過 Implements 關鍵字實現(xiàn)接口;
4、一個類要實現(xiàn)一個接口,就必須實現(xiàn)該接口中定義的所有成員簽名;
5、一個類可以實現(xiàn)多個接口,方法是在接口名用“,”隔開,如 Implements ISpeak,IRun。
以上是一個簡單易懂的VB.NET接口范例,以及學習心得。
【編輯推薦】