自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

簡(jiǎn)單講述VB.NET多重繼承

開(kāi)發(fā) 后端
這里介紹如果VB.NET多重繼承得到了支持,那么USPresident就會(huì)同時(shí)繼承自Employee和USCitizen。但是在.NET的語(yǔ)言里,你必須運(yùn)用接口來(lái)表示多重IS A關(guān)系。

VB.NET有很多值得學(xué)習(xí)的地方,這里我們主要介紹VB.NET多重繼承,包括介紹USPresident能夠衍生自多個(gè)基類等方面。

VB.NET多重繼承

我注意到了一個(gè)情況,那就是C#允許多重繼承(multiple inheritance),但是在VB.NET里我只能使用深層繼承(deep inheritance)。在VB.NET里能夠使用多重繼承嗎?或者說(shuō)VB.NET的程序員就只能如此了?

在提出這個(gè)問(wèn)題的時(shí)候,我可能已經(jīng)在考慮C++了。C++能夠支持多重繼承,但是C#和VB.NET都不支持。它們走了和Java相同的路線,也就是說(shuō)它們只允許來(lái)自單基類(single base class)的繼承。繼承關(guān)系表示兩個(gè)類之間的IS A關(guān)系。如果考慮到一個(gè)類有可能通過(guò)多IS A 關(guān)系被分類,那么缺少多重繼承就成為了這種可能性的一個(gè)因素。讓我們以Employee、USPresident和USCitizen這三個(gè)類為例子,它們之間的關(guān)系是:USPresident IS A Employee、USPresident IS A USCitizen

在C++里,USPresident能夠衍生自多個(gè)基類;而在.NET的語(yǔ)言里,它就不能這樣。

如果VB.NET多重繼承得到了支持,那么USPresident就會(huì)同時(shí)繼承自Employee和USCitizen。但是在.NET的語(yǔ)言里,你必須運(yùn)用接口來(lái)表示多重IS A關(guān)系。就和Java一樣,一個(gè)類能夠繼承自一個(gè)基類,而一個(gè)類也能夠?qū)崿F(xiàn)多個(gè)接口。

根據(jù).NET框架的文檔(C#語(yǔ)言規(guī)范),接口(interface)這個(gè)關(guān)鍵字會(huì)聲明參考類型擁有抽象成員。在本文里,成員(members)這個(gè)術(shù)語(yǔ)表示一個(gè)方法、屬性,或者索引符;而抽象(abstract)這個(gè)術(shù)語(yǔ)表示沒(méi)有提供實(shí)現(xiàn)。在創(chuàng)建接口的時(shí)候,習(xí)慣的(命名)方法是在接口名稱之前加上字母 I。盡管你可以忽略這個(gè)習(xí)慣,但是你會(huì)發(fā)現(xiàn)遵守這個(gè)習(xí)慣會(huì)讓區(qū)別基類和接口變得尤其簡(jiǎn)單。在Java里,開(kāi)發(fā)人員習(xí)慣在接口(名稱)的后面加上able。從個(gè)人的角度來(lái)看,我喜歡把這些技巧用在我自己的接口上。用來(lái)描述類和接口之間關(guān)系的術(shù)語(yǔ)有:我們用“x繼承自y類”來(lái)表示繼承;用“x實(shí)現(xiàn)y接口”來(lái)表示接口的關(guān)系。冒號(hào)(:)是用于實(shí)現(xiàn)接口的操作符。

繼承代碼有下列形式:

VB.NET

  1. Class Derived Inherits Base 

C#.NET

  1. Class Derived: Base 

【編輯推薦】

  1. 討論VB.NET簡(jiǎn)單數(shù)據(jù)類型
  2. 概括VB.NET獲取網(wǎng)卡地址的步驟
  3. VB.NET字符串?dāng)?shù)組全面分析
  4. 淺談VB.NET使用FileVersionInfo類
  5. 詳談VB自定義類型參數(shù)的傳遞
責(zé)任編輯:佚名 來(lái)源: cnbeta
相關(guān)推薦

2009-10-16 13:26:53

VB.NET Exce

2009-10-15 16:39:00

VB.NET讀取INI

2009-10-15 11:11:08

VB.NET Text

2009-10-21 18:28:48

VB.NET表間拖放

2009-10-14 17:08:44

VB.NET使用Fil

2009-10-21 10:45:50

VB.NET Quic

2009-10-12 16:39:59

OracleTransVB.NET使用

2009-10-13 17:03:55

VB.NET面向?qū)ο?/a>

2009-11-02 15:45:03

VB.NET IEnu

2009-10-16 09:35:24

VB.NET制作透明窗

2009-10-10 16:44:52

VB.NET開(kāi)發(fā)控件

2009-10-23 13:22:25

VB.NET實(shí)現(xiàn)拖動(dòng)圖

2009-10-14 11:15:06

VB.NET Grou

2009-10-27 11:39:03

VB.NET事件處理程

2009-10-22 09:20:46

VB.NET Proc

2009-10-26 18:11:47

VB.NET調(diào)用Exc

2009-10-29 09:57:16

VB.NET實(shí)現(xiàn)數(shù)據(jù)綁

2009-10-26 19:22:29

VB.NET使用Log

2010-01-21 16:45:00

VB.NET繼承規(guī)則

2009-11-03 17:31:01

VB.NET窗體
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)