成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談VB.NET Implements語句

開發 后端
這里介紹VB.NET Implements語句可以讓你想怎么實現接口就怎么實現,比如下面的類Implementation用兩個名字根本不一樣的方法實現了兩個接口。

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

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

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

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

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

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

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

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

.override TestApp.Interface1::Test

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

【編輯推薦】

  1. 詳細分析VB.NET WithEvents
  2. 淺析VB.NET局部靜態變量
  3. 原理分析VB.NET開發控件
  4. 自己動手用代碼實現VB.NET ListView加載數據
  5. 詳細介紹VB.NET MyClass
責任編輯:佚名 來源: CSDN
相關推薦

2009-10-14 12:51:41

VB.NET Data

2009-10-20 09:39:04

VB.NET Butt

2009-10-13 11:22:46

VB.NET調用Web

2009-11-04 08:53:57

VB.NET AddH

2009-10-15 17:41:14

VB.NET Impo

2009-10-12 13:32:58

VB.NET線程構造器

2009-10-16 10:14:26

VB.NET使用Fil

2009-10-21 16:00:26

VB.NET CASE

2010-01-22 15:56:03

VB.NET獲取當前U

2009-10-16 11:21:54

VB.NET Decl

2009-10-15 11:42:05

VB.Net賦值語句

2009-10-28 14:13:32

VB.NET File

2009-10-19 11:28:42

VB.NET語言.NET開發語言

2010-01-21 17:23:05

VB.NET Radi

2010-01-21 15:10:37

VB.NET靜態托盤程

2009-06-29 10:50:18

VB.NET面向對象能力

2009-10-28 14:44:43

VB.NET Name

2010-01-21 18:35:56

VB.NET Impo

2010-01-22 13:08:50

VB.NET創建數組

2009-06-23 11:49:22

跨進程消息鉤子VB.NET
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产欧美日韩一区二区三区 | 伊人久久一区二区 | 成人一区二区三区在线观看 | av免费观看在线 | 超黄视频网站 | 中文字幕视频在线观看 | 免费成人高清在线视频 | 久久久久久免费观看 | 成人国产在线视频 | 午夜影院在线观看 | 国产视频第一页 | 日日干日日操 | 九九热精品在线视频 | 欧美视频在线播放 | 91久久看片 | 欧美久久综合 | 韩国av网站在线观看 | 成人免费视频在线观看 | 天天拍天天色 | 国产精品3区 | 精品动漫一区 | 日本黄色免费大片 | 亚洲不卡在线视频 | 国产丝袜一区二区三区免费视频 | 国产一区欧美 | 国产欧美日韩综合精品一区二区 | 国产日韩欧美 | 欧美精品久久久久久久久老牛影院 | 免费成人高清 | 国产乱码精品1区2区3区 | 国产成年人小视频 | 91精品久久久久久久久 | 亚洲免费视频网址 | 亚洲 欧美 激情 另类 校园 | 欧美日韩一二三区 | 视频第一区 | 2019中文字幕视频 | 日韩美女在线看免费观看 | av高清| 欧美日韩福利视频 | 亚洲国产一区在线 |