av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

淺談VB.NETImplements語句

VB.NET有很多值得學習的地方,這里我們主要介紹VB.NET Implements語句,包括介紹Test函數(shù)等方面。VB.NET采用的實現(xiàn)接口的語法是VB5發(fā)明的Implements,這個實現(xiàn)接口的語法在當今主流語言中***。比如我有兩個接口:

我們提供的服務有:成都網(wǎng)站建設、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、祁陽ssl等。為1000多家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的祁陽網(wǎng)站制作公司

 
 
 
  1. Interface Interface1
  2. Sub Test()
  3. End Interface
 
 
 
  1. Interface Interface2
  2. Sub Test()
  3. 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)了兩個接口。

 
 
 
  1. Public Class Implementation
  2. Implements Interface1, Interface2
  3. Public Sub Hello() Implements Interface1.Test
  4. End Sub
  5. Private Sub Hi() Implements Interface2.Test
  6. End Sub
  7. End Class

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

 
 
 
  1. public class Class1 : Interface1, Interface2
  2. {
  3. public Class1{}
  4. void Interface1.Test{}
  5. void Interface2.Test{}
  6. }

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

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

.override TestApp.Interface1::Test

無論是C#的顯式實現(xiàn)還是VB.NET Implements語句都是這樣的原理。也就是說.NET提供了換名實現(xiàn)接口成員的功能,但是只有VB將這個自由讓給了用戶,而其他語言還是采用了經(jīng)典的語法。


分享題目:淺談VB.NETImplements語句
網(wǎng)站URL:http://uogjgqi.cn/article/cdhhiog.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流