溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

VB.NET中Implements語句怎么用

發(fā)布時間:2021-12-02 11:17:45 來源:億速云 閱讀:223 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關VB.NET中Implements語句怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

VB.NET采用的實現(xiàn)接口的語法是VB5發(fā)明的Implements,這個實現(xiàn)接口的語法在當今主流語言中***。比如我有兩個接口:

Interface Interface1  Sub Test()  End Interface
Interface Interface2  Sub Test()  End Interface

這兩個接口有一個完全一樣的成員Test。假設我需要用一個類同時實現(xiàn)兩個接口會怎么樣呢?先想想看,如果是Java,JScrip.NET這樣的語言就只能用一個Test函數(shù)實現(xiàn)兩個接口的Test成員。假如兩個Test只是偶然重名,其內(nèi)容必須要分別實現(xiàn)怎么辦,于是一些解決接口重名的設計出現(xiàn)了……。VB.NET Implements語句可以讓你想怎么實現(xiàn)接口就怎么實現(xiàn),比如下面的類Implementation用兩個名字根本不一樣的方法實現(xiàn)了兩個接口。

Public Class Implementation  Implements Interface1, Interface2   Public Sub Hello() Implements Interface1.Test   End Sub   Private Sub Hi() Implements Interface2.Test   End Sub  End Class

也就是說,VB允許用任意名字的函數(shù)實現(xiàn)接口中的成員,而且訪問器可以是任意的,比如想用Public還是Private都可以。C#在處理重名成員上提供了顯式實現(xiàn)(explicit implementation)的語法,其實現(xiàn)上述兩個接口的語法為

public class Class1 : Interface1, Interface2  {  public Class1{}  void Interface1.Test{}  void Interface2.Test{}  }

注意這里,C#只能用接口名.成員名的名字來命名實現(xiàn)方法,而且訪問器只能是private,不能公開顯式實現(xiàn)的方法。

在考察了IL以后,我發(fā)現(xiàn).NET支持隱式實現(xiàn)和顯式實現(xiàn)兩種方式。其中隱式實現(xiàn)只要在類里面放一個與接口成員方法名字一樣的方法即可——這一種VB不支持。而顯式實現(xiàn)則在方法的描述信息里加入:

.override TestApp.Interface1::Test

關于“VB.NET中Implements語句怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI