簡介 要經常創建Web應用程序
開發人員必須按照可升級
夠穩定和可重用的規律來開發
在過去的幾年裡
面向對象的編程已經成為創建符合要求的系統的最主要方法
使用面向對象的編程可以使那些大規模的系統程序更容易讀懂
更容易糾錯
升級更快
為了使Visual Basic的開發人員從面向對象的設計方法中受益並使企業網站應用程序的開發更簡單
下一個版本的Visual Basic
Visual Basic
NET將會支持完全的面向對象的編程功能包括繼承的實現
有了這些新的語言功能
Visual Basic
NET將會帶來所有我們所需要的功能
更快
更有效的開發企業級的應用程序
同時
作為世界最流行的開發軟件
保持了容易上手的特點
Visual Basic
NET將會提供一流的面向對象的編程語言
同時帶來了許多新的功能
比如繼承的實現
重載和參數化構造函數
另外
隨著現代化的語言結構的調整
如結構化的異常處理
代碼更易於維護
這使得開發人員將可以使用簡潔明了的自由線程來編寫高擴展性的代碼
Visual Basic 將會提供開發人員所需要的所有語言特點來使他們能建立穩定
可擴展的分布式Web應用程序
這些應用程序將會包括以下新功能
面向對象編程的新功能 繼承性
重載
參數化構造函數
現代化附加的新功能
自由線程
結構化的異常處理
嚴格類型檢測
共享成員
初始化功能
語言變革的歷史
Visual Basic語言隨著Windows平台基本結構的改變而做出相應的升級
這已經有了一個很長的歷史
比如說
QuickBasic為了支持Windows
的圖形化用戶界面而做出的重大改變促成了後來Visual Basic的第一個版本的發行
在Visual Basic
中
隨著轉向基於COM的編程
使程序結構中出現了DLL
另外
在Visual Basic
中
它開始支持建立COM控件
面向對象的編程 傳統的編程語言有很多缺點
比如說
它的數據是分布在整個代碼段中分開存放的
任何寫成結構化的代碼並不是模塊
因為數據元素對任何代碼都是可操作的
所以即使沒有告訴開發者
任何人都可以對數據做改動
這可能會造成運行時的錯誤並且極難糾錯
還有
程序的維護是一項極其繁重的工作
要在試著去理解改動一行代碼對整個程序會造成的影響之後再去修改會非常困難
最後
讓程序員級管理代碼又管理數據而造成的信任問題會使代碼的重用率降得非常低
面向對象的編程解決了所有這些問題
他把用來操作數據的方法連同數據一起打包成一個對象
對象的數據可以被隱藏
以防止非法的改動
另外
一個對象會登記出一套公用的可用於操作數據的方法
這就是所謂的封裝性
因為具體的實施細節使於實際界面分離的
所以我們可以在不影響主要程序及數據的前提下
以後再改動這個被調用的後台運行的對象程序
面向對象的編程能夠讓程序的開發人員通過繼承來重用代碼和數據
通過繼承預先定義的對象
開發者可以更經常的創建復雜的應用
由於編寫新的代碼常常會帶來產生潛在的Bug的可能性
因此重用經過測試的代碼會大大減少Bug產生的可能
為了能夠滿足所有這些要求
Visual Basic
NET將會提供更多的語言功能來實現所有上面提到的功能
使其成為第一流的面向對象的編程語言
繼承性 一個大家強烈要求Visual Basic實現的功能就是繼承性的實現了
Internet時代發展需要迅速的拼裝和大塊的重用
Visual Basic現在已經支持完全的實施繼承
包括窗體繼承
開發者可以用信的關鍵字Inherits 從一個已經存在的類中衍生出去
Class
Function GetCustomer()
End Function
Class
Inherits Class
Function GetOrders()
End Function
表達式支持所有的一般的與繼承相關的屬性
衍生類的實例支持所有的基類的方法和接口
當然的
衍生類也可以擴展這些方法和接口
衍生類可以使用Overrides關鍵字重載基類定義的方法
為了降低編程的錯誤率
Visual Basic防止你隨便重載一個函數
只有那些被聲明為
可重載
的函數才允許被衍生類重載
重載
Visual Basic現在已經支持函數重載
這樣
程序員就可以通過使用不同的參數類型來使用名稱相同而功能不同的子過程或者函數了
當你的對象模型要求你使用相似的過程名來操作不同類型的數據的時候
重載就變得非常有用了
比如說
一個可以顯示多種數據類型的類可以使用下面的顯示子程序
Overloads Sub Display (theChar As Char)
Overloads Sub Display (theInteger As Integer)
Overloads Sub Display (theDouble As Double)
如果沒有重載
你就不得不為每一個子過程建立唯一的名稱或者只能使用Variant參數
重載提供了一種更清楚更有效的方法來處理多種數據類型
參數化構造函數 參數化構造函數(簡稱構造函數)使你能夠在建立一個新的實例的同時把參數傳遞給它
構造函數對面向對象的編程來講是十分關鍵的
因為它們使實例的建立者能夠傳遞自定義參數的創建代碼
它們允許用一條簡單的表達式來創建並初始化一個新的實體
從而簡化了客戶端的代碼
更多現代化語言的新功能Visual Basic
NET新增了許多新功能
簡化了編寫更穩定
可擴展的應用程序的開發過程
這些新功能包括自由線程
結構化的異常處理
嚴格類型檢測以及一些如初始化功能
共享成員等的提高生產效率的新功能
自由線 現在
當開發者用Visual Basic建立一個應用程序的時候
他的代碼已經是同步的了
意思是在下一行語句被輸入前
上一行的語句必須被執行完畢
在開發Web應用程序的時候
可擴展性是關鍵
開發者需要可以實時處理的工具
自由線程提供了非同步處理機制
開發者可以在不影響其他應用程序的前提下新建一鱿叱湯唇幸恍┏な奔涞娜撾瘛⒏叢擁牟檠肭蠡蛘叨嗫橥郊撲恪?BR>
Dim b As BackGroundWork
Dim t As Thread
Set b = New BackGroundWork()
Set t = New Thread(New ThreadStart(AddressOf b
Doit))
t
Start
End Sub
Class BackGroundWork
Sub DoIt()
…
End Sub
End Class
結構化的異常處理 開發企業應用程序需要創建可重用的易維護的組件
支持錯誤處理曾經是Basic語言的一個非常出色的方面
但是
開發人員發現編寫一個可靠的錯誤處理程序就意味著大段的重復代碼
使用現有的On Error GoTo 表達式常常會降低大型應用程序的開發和維護過程
它的名稱就說明了一些問題
GoTo 意味著一旦錯誤發生
控制權就會被轉移到一個子程序內標號的段落
那樣
當錯誤發生時
程序將會相遇到一個標准GoTo一樣轉移到一個新的地點執行程序
然後
通過另外的GoTo或者Exit來跳出這個過程
同時處理幾個錯誤的時候
當他們使用了不同Resume和 Next的組合而執行路徑又沒有完全處理好時
就會很快導致非法的代碼和Bug
運用Try
Catch
Finally
這些問題迎刃而解
開發者可以把異常處理直接嵌入程序
並且
會有一個控制結構
專門用來編寫清空代碼
無論在通常情況還是在例外情況下
這段代碼都會被執行
Sub SEH()
Try
Open
TESTFILE
For Output As #
Write #
CustomerInformation
Catch
Kill
TESTFILE
Finally
Close #
End try
End Sub
嚴格類型檢測 現在的Visual Basic語言在類型聲明上是非常自由的
除了使用引用以外的其他參數傳遞
Visual Basic編譯器可以生成運行時的強制類型轉換
允許幾乎所有的類型轉換成所有其它的類型
如果被轉換的數據類型不允許任何的數據丟失
那麼使用運行時的強制類型轉換將會失敗
使用新的附加的編譯選項
Visual Basic會針對任何有可能產生運行時錯誤的類型轉換產生編譯錯誤
對於那些可能會在運行時產生錯誤的類型轉換
這個Strict的選項將會使Visual Basic產生編譯錯誤以改善類型安全性
這些錯誤包含一些用戶無法預計的錯誤
如數字和字符串之間的自動轉換等等
共享成員 共享成員是指那些可以被類的所有實例共享的數據和函數成員
作為具有繼承性的Visual Basic應用程序
在類中所有的實例中共享一個數據成員或者函數是需要的
一個共享成員是獨立於類中任何特定的實例而存在的
一個共享的方法是一個不同於一般方法的方法
它並不隱式地傳遞出一個類的實例
出於這個原因
在共享方法中
不允許訪問沒有指定對象的非共享的數據成員
公共的共享成員可以被遠程訪問並且它們可以被後綁定到類的實例
初始化功能 Visual Basic
NET支持在變量定義行直接初始化變量
初始化功能可以在任何場合使用
包括在控制結構內部
初始化功能的這種過程級的語法聲明與在定義變量以後立即初始化的作用是一樣的
換種說法
比如
Dim X As Integer =
與以下代碼是相同的:
Dim X As Integer X =
小結Visual Basic
Net是目前最好的一種面向對象的編程語言之一
通過使用Visual Basic
NET
開發者可以利用自由線程設計出具有良好的可擴展性的代碼
這些代碼具備了結構化異常處理這樣的現代語言特性
Visual Basic將為設計健壯
可擴展的分布式網絡應用的開發者在語言特點上提供所有的幫助
<
From:http://tw.wingwit.com/Article/program/Java/hx/201311/27124.html