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

淺談VB.NET新的面向對象能力

開發 后端
面向對象的編程在VB4.0以后的版本已經使用。不幸的是,一些面向對象的特點比如說繼承、方法重載、方法覆蓋等并沒有實現。本文將簡單談談VB.NET新的面向對象能力。

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

◆Abstraction抽象

◆Encapsulation封裝

◆Polymorphism多態

◆Inheritance繼承

讓我們概括的了解一下VB.NET的OO特點:

抽象:

VB從VB4開始支持抽象。面向對象的第一步是有關實體的問題。在這里,提取對象必要信息的過程我們稱為數據抽象。

封裝:

封裝允許我們隱藏類內部的完成細節。將數據和功能綁定到一起被稱為封裝。這是界面和實現分離的概念。封裝也在VB4后實現。

多態:

多態也在VB4中實現。多態是面向對象系統中允許我們有多個不同的功能用同樣名字的特性。功能的不同之處在于傳遞給它們的參數不同。事實上,VB通過兩種方式支持多態

1、通過后期綁定

2、通過多界面的執行

繼承:

.NET平臺的一個大的提高就是使用繼承的能力。VB5引入“interface inheritance”使VB開發者能夠在一定程度上擴展已有對象。但是只能訪問接口而不是底層的執行。

繼承就是一個類能夠得到一個現有的類的所有接口和行為。這樣一個類被稱為子類。

當我們構造一個新類,它繼承已有類的接口和行為,我們就創建了一個類的子類。

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

覆蓋:

使用同樣的名字替換基類的方法或屬性。

重載:

添加新的不同參數的實現方法。

隱藏:

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

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

Option Strict On Imports System.Windows.Forms Public Class Employee Protected Count
As Int32 '' available to descendants but not public Public Overridable Sub funct1 ()
Count += 1 MessageBox.Show ("Employee funct1: " & Count.ToString, "Employee.funct1",
MessageBoxButtons.OK) End Sub Public Overridable Sub funct2() Count += 1 MessageBox.Show
("Employee funct2: " & Count.ToString, "Employee.funct2", MessageBoxButtons.OK) End Sub End
Class Public Class Officer Inherits Employee Public Overrides Sub funct2 () Count += 1
MessageBox.Show ("Officer: " & Count.ToString, "Officer.funct2", MessageBoxButtons.OK)
End Sub Public Sub special () ''The function only for Officer. Count += 1 MessageBox.Show
("Officer''s special: " & Count.ToString, "Officer.special",  MessageBoxButtons.OK)  End
Sub End Class Module Module1 Sub Main() Dim arun As officer arun = New officer()
officer.funct2 '' will call the method defined in Officer officer.funct1 '' will
call the method defined in Employee End Sub End Module

防止繼承:

我們創建的類默認的可以被作為基類使用。有時我想創建一個類,但是不能被繼承。

我們可以在類的聲明時添加“NotInheritable”關鍵字:

Public NotInheritable Class arungg …… End Class 

當使用這個類時,沒有別的代碼可以使用Inherits關鍵字創建一個我們類的子類。 

結論:

在VB.NET中,VB語言終于完整的轉變為徹底的OO語言。我們現在有完整的inheritance,以及其他的特性。VB.NET不止是提供給我們完整的面向對象的特性,也改變我們以往使用VB6的一些方法。

【編輯推薦】

  1. 淺談VB.NET中的跨進程消息鉤子
  2. VB.NET中的動態代碼生成技巧
  3. C#和VB.NET類型相關知識匯總向
  4. VB.NET中有用的通用對象列表
  5. VB.NET和C#逐層橫向對比
責任編輯:彭凡 來源: IT168
相關推薦

2010-01-13 11:18:24

VB.NET面向對象

2009-10-13 17:03:55

VB.NET面向對象

2009-11-02 16:22:16

VB.NET面向對象

2009-10-14 12:51:41

VB.NET Data

2009-10-13 14:19:03

VB.NET面向對象編

2009-10-13 11:28:39

VB.NET面向對象編

2009-10-20 09:39:04

VB.NET Butt

2009-10-28 10:31:23

VB.NET Impl

2009-10-13 11:22:46

VB.NET調用Web

2009-10-12 13:32:58

VB.NET線程構造器

2009-10-16 10:14:26

VB.NET使用Fil

2009-10-14 13:21:46

VB.NET Acco

2009-10-09 15:59:41

VB.NET對象

2010-01-22 15:56:03

VB.NET獲取當前U

2009-11-04 13:12:33

VB.NET面向對象編

2009-11-03 13:54:55

VB.NET繼承

2009-10-19 11:28:42

VB.NET語言.NET開發語言

2010-01-22 13:28:13

VB.NET對象克隆

2009-10-23 14:06:07

VB.NET類對象

2009-10-12 16:39:59

OracleTransVB.NET使用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费午夜剧场 | 人人看人人草 | 国产91中文| 一级日批片 | 日日操操 | 欧美成人a∨高清免费观看 老司机午夜性大片 | 午夜视频在线观看网址 | 久久99精品久久久久久 | av影音 | 久久精品16| 色视频成人在线观看免 | 国产精品激情在线 | 夜操 | 91精品国产高清久久久久久久久 | 日日操操操 | 一区二区三区四区电影 | 国产精品久久久久久久7电影 | 国产毛片视频 | 韩国av影院 | 日韩精彩视频 | 九九伦理片 | 999久久久久久久久6666 | 91视频免费 | 最新中文字幕一区 | 一区二区免费 | 一起操网站 | 一区二区三区小视频 | 久久综合久久综合久久 | 天堂一区二区三区 | 久久精品网 | 日本精品视频一区二区 | 国内精品视频免费观看 | jvid精品资源在线观看 | 亚洲午夜精品一区二区三区他趣 | 精品欧美一区二区三区久久久 | 美女视频黄色片 | 日韩一区中文字幕 | 欧美日韩在线精品 | 久久久精品综合 | 免费人成激情视频在线观看冫 | 黑色丝袜三级在线播放 |