引言:
VB.NET作為.NET的主要語言之一,在面向對象技術流行的時代被賦予了全新的意義,曾被專業程式設計師所不屑的VB第一次擁有了無窮的能量,完全可以與C/C++ OR C# OR JAVA等媲美!作為一個vb/vb.net的愛好者(開發者),要充分利用VB.NET帶給我們的無窮能量,就要棄"把玩"的态度,深入研究,由于本人不是所謂的"專家",如有不妥之處,誠請各位指正.
正文:
大家可能會想:對于一個學習過任何一種程式設計語言的人來說,像常量,變量之類的概念應該再熟悉不過了,但真的是如此嗎?本篇文章将就變量的命名規則,作用範圍和生存期兩部分深入探讨VB.NET變量的使用.
第一部分:變量的命名規則
何為變量的命名規則?變量的命名規則就是為了讓代碼更加易于閱讀和維護管理而制定的程式編寫的命名準則,下面就以微軟建議采用的命名規則進行介紹.
一般變量應該遵循如下命名規則:
範圍+資料類型+辨別名稱
其中範圍表示變量的作用範圍,如果是公有變量就用小寫的g表示(global),局部變量則直接省略不寫;
資料類型則為像Integer,string等資料類型的小寫的三碼簡寫.以下列出包含範例資料類型的三碼簡寫表,供大家參考使用.
資料類型 縮寫 範例
Byte byt bytCount
Boolean bln blnIsMale
Integer int intAge
Long lng lngNumber
Single sng sngTax
Double dbl dblIncome
Short shr shrEnployeeNumber
Decimal dec decIncome
Date dat datMyBirthday
Object obj objConn
String str strMyName
Stucture udt udtMyStructure
注:udt就是英文user define type的簡寫
辨別名稱:變量的主體,建議使用以英文大小寫搭配,并以容易記憶,能夠代表變量用意的名稱,當然前提是辨別名稱必須是合法的(關于什麼才是合法的名稱請參考其他的資料),是如自己的名字MyName(按照命名規則就是strMyName).
依據變量的資料類型來為變量命名,是區分專業與業餘程式設計師最簡單的判斷法則,希望大家能有意識地培養使用這些命名準則的聲明變量的習慣.
第二部分:變量的作用範圍和生存期
VB.NET是一種基于.NET平台面向對象的程式語言,具備面向對象技術的所有特性,在.NET平台下,所有包括資料類型,窗體等都是以類加以實作的,要更好了解變量的作用範圍,那麼就要以類的觀點來看待變量的作用範圍和生存期.
我們先來看看變量的一般聲明方式: [Public|Protected|Friend|ProtectedFriend|Private|dim|static|shared]
VariableName as VariableType
其實變量的作用範圍和生存期取決兩個因素:變量聲明使用了[]中的那個關鍵字和在何處聲明.
我先來說說我們最常用的幾個關鍵字:Public,Private,dim,static
Public關鍵字不能在函數,(事件)過程,區域内部(如:for..next等語句内)使用,一般隻能在子產品内聲明為全局變量,如下的intCount;另外Public在類中聲明的是公有變量(成員),表示可以被派生類繼承的成員;
Module module1
Puplic intCount AS integer
End Module
用Private,dim聲明的變量都是局部變量,它的範圍取決與變量在何處聲明.如在窗體聲明區聲明,則有效範圍為窗體内部,以此類推,在(事件)過程,子產品内聲明,相對應的隻有在(事件)過程,子產品内有效.如過在類中聲明變量,則為私有變量(成員),表示部可以被派生類繼承的成員;
比較特别的是static,它聲明的變量叫靜态變量,那麼什麼是靜态變量呢?我的說法就是:作用範圍和生存期不一緻的變量.一般的變量,其作用範圍和生存期都是一緻的.static聲明的變量提供了局部的作用範圍和全局的生存期,也就是說,它的可通路的範圍取決與它在何處聲明所對應的範圍,而無論在何處聲明,都提供整個程式的生存期(全局).需要注意的是:不能将 Static 修飾符用于結構中的局部變量
至于Protected,Friend,Protected Friend關鍵字,則通常用在類中進行變量的聲明,Protected(保護)的有效範圍介于Public和Private之間:對于類以外的代碼,它像私有成員一樣無法通路,然而對于繼承它的派生類來說,就像公有成員一樣可以繼承為自己的成員;Friend(友好)的有效範圍則比Protected更大,隻要是同個項目的檔案和類.均可通路,換一種說法,就是程式集範圍;Protected Friend則是Protected,Friend的結合:有效範圍為派生類和同個項目内的檔案.
還有一個很重要的關鍵字--shared.它在類中聲明的變量叫做共享成員,所謂的共享成員就是在類尚未産生實際的對象前,便可以通路或調用的屬性和方法.在這裡,我們就拿窗體類Form類來說明,大家在學VB.NET的時候首先要碰到的應該就是窗體了吧,但是窗體是一個類而非對象,那麼要使用窗體的一些屬性的話拿就要使用它的共享成員.想必大家還知道activeform吧!在這不用我多解釋,相信聰明的你一定能夠了解吧!