日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
淺談VB.NETImplements語句

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

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

 
 
 
  1. Interface Interface1
  2. Sub Test()
  3. End Interface
 
 
 
  1. Interface Interface2
  2. Sub Test()
  3. End Interface

這兩個接口有一個完全一樣的成員Test。假設(shè)我需要用一個類同時實現(xiàn)兩個接口會怎么樣呢?先想想看,如果是Java,JScrip.NET這樣的語言就只能用一個Test函數(shù)實現(xiàn)兩個接口的Test成員。假如兩個Test只是偶然重名,其內(nèi)容必須要分別實現(xiàn)怎么辦,于是一些解決接口重名的設(shè)計出現(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語句
文章鏈接:http://m.5511xx.com/article/cdhhiog.html