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

VB.NET面向?qū)ο笳宫F(xiàn)新能力

開發(fā) 后端
VB.NET面向?qū)ο蟮奶攸c(diǎn)是非常突出的,比如抽象,封裝,多態(tài),繼承,覆蓋,重載,隱藏,繼承的防止等等。下面大家就對(duì)此進(jìn)行一個(gè)詳細(xì)的介紹。

VB.NET這樣一款由微軟公司推出的編程語言,其功能是比較強(qiáng)大的。尤其是在面向?qū)ο蠓矫?,展現(xiàn)了非常重要的作用。面向?qū)ο蟮木幊淘赩B4.0以后的版本已經(jīng)使用。不幸的是,一些VB.NET面向?qū)ο蟮奶攸c(diǎn)比如說繼承、方法重載、方法覆蓋等并沒有實(shí)現(xiàn)。#t#

VB.NET中,VB語言成為了完整的OO語言。一般說來,OO的編程語言支持四個(gè)主要的特點(diǎn):

◆Abstraction抽象

◆Encapsulation封裝

◆Polymorphism多態(tài)

◆Inheritance繼承

讓我們概括的了解一下VB.NET的OO特點(diǎn):

抽象:

VB從VB4開始支持抽象。VB.NET面向?qū)ο蟮牡谝徊绞怯嘘P(guān)實(shí)體的問題。在這里,提取對(duì)象必要信息的過程我們稱為數(shù)據(jù)抽象。

封裝:

封裝允許我們隱藏類內(nèi)部的完成細(xì)節(jié)。將數(shù)據(jù)和功能綁定到一起被稱為封裝。這是界面和實(shí)現(xiàn)分離的概念。封裝也在VB4后實(shí)現(xiàn)。

多態(tài):

多態(tài)也在VB4中實(shí)現(xiàn)。多態(tài)是VB.NET面向?qū)ο笙到y(tǒng)中允許我們有多個(gè)不同的功能用同樣名字的特性。功能的不同之處在于傳遞給它們的參數(shù)不同。事實(shí)上,VB通過兩種方式支持多態(tài)

1、通過后期綁定

2、通過多界面的執(zhí)行

繼承:

.NET平臺(tái)的一個(gè)大的提高就是使用繼承的能力。VB5引入“interface inheritance”使VB開發(fā)者能夠在一定程度上擴(kuò)展已有對(duì)象。但是只能訪問接口而不是底層的執(zhí)行。
繼承就是一個(gè)類能夠得到一個(gè)現(xiàn)有的類的所有接口和行為。這樣一個(gè)類被稱為子類。

當(dāng)我們構(gòu)造一個(gè)新類,它繼承已有類的接口和行為,我們就創(chuàng)建了一個(gè)類的子類。

舉一個(gè)VB5或VB6的例子,你可以創(chuàng)建一個(gè)"Employee",它有一些向姓名,地址等的屬性。如果你想創(chuàng)建一個(gè)象 “Worker”,“ Officer”的新類或者別的什么,你不能簡(jiǎn)單的擴(kuò)展已有的Employee類。作為替代,你可以選擇復(fù)制代碼到新的對(duì)象,或者使用委派技術(shù),在VB.NET中我們擁有完全的繼承。你可以繼承Employee類,包括所有的正確代碼包括效驗(yàn)、讀取、存儲(chǔ)。你可以為每一個(gè)Employee添加單獨(dú)的特點(diǎn)。如果你需要改變標(biāo)準(zhǔn)的行為,你也可以覆蓋、重載或隱藏基類的方法和屬性。

覆蓋:

使用同樣的名字替換基類的方法或?qū)傩浴?/p>

重載:

添加新的不同參數(shù)的實(shí)現(xiàn)方法。

隱藏:

替換基類中同樣名字的屬性。

繼承也適用于象forms和controls之類的虛類。這可以使VB.NET創(chuàng)建一個(gè)基本的Form,包含corporate logos, standard menus, help systems等,然后繼承它們,創(chuàng)建一個(gè)特定的Form,擁有與其他Form一樣的外觀和感覺。

  1. Option Strict On Imports System.
    Windows.Forms   
  2. Public Class Employee Protected   
  3. Count As Int32 '' available to 
    descendants but not public   
  4. Public Overridable   
  5. Sub funct1 ()   
  6. Count += 1   
  7. MessageBox.Show ("Employee 
    funct1: " & Count.ToString, 
    "Employee.funct1", MessageBox
    Buttons.OK)  
  8. End   
  9. Sub Public Overridable   
  10. Sub funct2() Count += 1   
  11. MessageBox.Show("Employee funct2: 
    " & Count.ToString, "Employee.
    funct2", MessageBoxButtons.OK)  
  12. End Sub   
  13. End   
  14. Class Public   
  15. Class Officer Inherits Employee 
    Public Overrides   
  16. Sub funct2 () Count += 1   
  17. MessageBox.Show ("Officer: " 
    & Count.ToString, "Officer.
    funct2", MessageBoxButtons.OK)  
  18. End   
  19. Sub Public   
  20. Sub special () ''The function 
    only for Officer  
  21. . Count += 1   
  22. MessageBox.Show("Officer''s 
    special: " & Count.ToString, 
    "Officer.special",  
    MessageBoxButtons.OK)    
  23. End Sub   
  24. End   
  25. Class Module Module1   
  26. Sub Main()   
  27. Dim arun As officer arun = 
    New officer()  
  28. officer.funct2   
  29. '' will call the method 
    defined in Officer officer.funct1   
  30. '' will call the method 
    defined in Employee   
  31. End Sub   
  32. End Module  

防止繼承:

我們創(chuàng)建的類默認(rèn)的可以被作為基類使用。有時(shí)我想創(chuàng)建一個(gè)類,但是不能被繼承。

我們可以在類的聲明時(shí)添加“NotInheritable”關(guān)鍵字:

  1. Public NotInheritable 
    Class arungg …… End Class  

當(dāng)使用這個(gè)類時(shí),沒有別的代碼可以使用Inherits關(guān)鍵字創(chuàng)建一個(gè)我們類的子類?!?/p>

結(jié)論:

在VB.NET中,VB語言終于完整的轉(zhuǎn)變?yōu)閺氐椎腛O語言。我們現(xiàn)在有完整的inheritance,以及其他的特性。VB.NET不止是提供給我們完整的VB.NET面向?qū)ο蟮奶匦?,也改變我們以往使用VB6的一些方法。

責(zé)任編輯:曹凱 來源: IT168
相關(guān)推薦

2009-06-29 10:50:18

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

2009-10-13 17:03:55

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

2009-11-02 16:22:16

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

2009-10-13 14:19:03

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

2009-10-13 11:28:39

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

2009-10-14 13:21:46

VB.NET Acco

2009-10-09 15:59:41

VB.NET對(duì)象

2009-11-04 13:12:33

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

2009-11-03 13:54:55

VB.NET繼承

2009-10-12 16:39:59

OracleTransVB.NET使用

2010-01-22 13:28:13

VB.NET對(duì)象克隆

2009-10-23 14:06:07

VB.NET類對(duì)象

2010-01-12 18:05:38

VB.NET對(duì)象

2009-10-30 11:20:54

VB.NET Proc

2009-11-03 09:37:33

VB.NET重載

2009-10-26 17:53:50

VB.NET新窗體

2010-01-22 11:02:30

VB.NET創(chuàng)建新變量

2010-01-21 16:17:32

VB.NET文件對(duì)象

2010-01-12 17:21:29

VB.NET對(duì)象

2009-10-20 17:38:20

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

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