簡介
要經常創建Web應用程序,開發人員必須按照可升級、足夠穩定和可重複使用的規律來開發。在過去的幾年裡,物件導向的程式設計已經成為創建符合要求的系統的最主要方法。使用物件導向的程式設計可以讓那些大規模的系統程式更輕易地閱讀,更輕易糾錯,升級也更快。
為了使Visual Basic的開發人員從物件導向的設計方法中受益並使企業網站應用程式的開發更簡單,下一個版本的Visual Basic------Visual Basic .NET將會支援完全的物件導向的編程功能包括繼續的實作。有了這些新的語言功能,Visual Basic .NET將會帶來所有我們所需要的功能,更快、更有效的開發企業級的應用程序,同時,作為世界最流行的開發軟體,保持了輕易上手的特點。
Visual Basic .NET將會提供一流的物件導向的程式語言,同時帶來了許多新的功能,例如繼續的實現,重載和參數化建構函數。 另外,隨著現代化的語言結構的調整,如結構化的異常處理,程式碼更易於維護,這使得開發人員將可以使用簡潔明了的自由線程來編寫高擴展性的程式碼。 Visual Basic 將會提供開發人員所需的所有語言特點來使他們能建立穩定、可擴展的分散式Web應用程序,這些應用程式將會包括以下新功能:
物件導向程式設計的新功能
繼續性
重載
參數化建構函數
現代化附加的新功能
自由線程
結構化的異常處理
嚴格類型檢測
共享成員
初始化功能
語言變革的歷史
Visual Basic語言隨著Windows平台基本結構的改變而做出相對應的升級,這已經有了很長的歷史。比如說,QuickBasic為了支援Windows 3.0的圖形化使用者介面而做出的重大改變促成了後來Visual Basic的第一個版本的發行。在Visual Basic 4.0中,隨著轉向基於COM的編程,使程式結構中出現了DLL。另外,在Visual Basic 5.0中,它開始支援建立COM控制項。
物件導向的程式設計
傳統的程式語言有很多缺點,比如說,它的資料是分佈在整個程式碼段中分開存放的;任何寫成結構化的程式碼並不是模組;因為資料元素對任何程式碼都是可操作的,所以即使沒有告訴開發者,任何人都可以對資料做改動,這可能會造成運行時的錯誤並且極難糾錯。還有,程式的維護是一項極為繁重的工作。要在試著去理解改動一行程式碼對整個程式會造成的影響之後再去修改會非常困難。最後,讓程式設計師級治理程式碼又治理資料而造成的信任問題會使程式碼的重用率降得非常低。
物件導向的程式設計解決了所有這些問題。他把用來操作資料的方法連同資料一起打包成一個物件。物件的資料可以被隱藏,以防止非法的改動。另外,一個物件會登記出一套公用的可用於操作資料的方法。這就是所謂的封裝性。因為具體的實作細節使於實際介面分離的,所以我們可以在不影響主要程式及資料的前提下,以後再改動這個被呼叫的後台運行的物件程式。
物件導向的程式設計能夠讓程式的開發人員透過繼續來重複使用程式碼和資料。透過繼續預先定義的對象,開發者可以更經常的創建複雜的應用。由於編寫新的程式碼經常會帶來產生潛在的Bug的可能性,因此重複使用經過測試的程式碼會大大減少Bug產生的可能。
為了能夠滿足所有這些要求,Visual Basic .NET將會提供更多的語言功能來實現所有上述的功能,使其成為第一流的物件導向的程式語言。
繼續性
一個大家強烈要求Visual Basic實現的功能就是繼續性的實現了。 Internet時代發展需要快速的拼裝和大塊的重複使用。 Visual Basic現在已經支援完全的實作繼續,包括窗體繼續。
開發者可以用信的要害字Inherits 從一個已經存在的類別中衍生出去。
Class1
Function GetCustomer()
…
End Function
Class2
Inherits Class1
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 #1
Write #1, CustomerInformation
Catch
Kill "TESTFILE"
Finally
Close #1
End try
End Sub
嚴格類型檢測
現在的Visual Basic語言在類型聲明上是非常自由的。除了使用參考以外的其他參數傳遞,Visual Basic編譯器可以產生執行時期的強制型別轉換,答應幾乎所有的型別轉換成所有其它的型別。假如被轉換的資料型別不答應任何的資料遺失,那麼使用執行時間的強制型別轉換將會失敗。使用新的附加的編譯選項, Visual Basic會針對任何有可能產生執行階段錯誤的類型轉換產生編譯錯誤。對於那些可能會在執行階段產生錯誤的類型轉換, 這個Strict的選項將會使Visual Basic產生編譯錯誤以改善類型安全性。這些錯誤包含一些使用者無法預期的錯誤,如數字和字串之間的自動轉換等等。
共享成員
共享成員是指那些可以被類別的所有實例共享的資料和函數成員。作為具有繼續性的Visual Basic應用程序,在類別中所有的實例中共用一個資料成員或函數是需要的。一個共享成員是獨立於類別中任何特定的實例而存在的。一個共享的方法是一個不同於一般方法的方法,它並不隱式地傳遞出一個類別的實例。基於這個原因,在共享方法中,不答應存取沒有指定物件的非共享的資料成員。公共的共享成員可以被遠端存取並且它們可以被後綁定到類別的實例。
初始化功能
Visual Basic .NET支援在變數定義行直接初始化變數。初始化功能可以在任何場合使用,包括在控制結構內部。初始化功能的這種過程級的語法宣告與在定義變數以後立即初始化的作用是一樣的。換個說法,比如:
Dim X As Integer = 1 與下列程式碼是相同的:
Dim X As Integer X = 1 小結Visual Basic.Net是目前最好的一種物件導向的程式語言之一。透過使用Visual Basic .NET,開發者可以利用自由執行緒設計出具有良好的可擴充性的程式碼。這些程式碼具備了結構化異常處理這樣的現代語言特性。 Visual Basic將為設計健壯、可擴展的分散式網路應用程式的開發者在語言特性上提供所有的幫助。 <進入討論組討論。