充分掌握VB.NET變量應(yīng)用技巧
作為生活在這樣一個(gè)技術(shù)更新速度非常快的時(shí)代中的開(kāi)發(fā)人員來(lái)說(shuō)他們是幸運(yùn)的。因?yàn)楦鞣N編程語(yǔ)言和新技術(shù)的出現(xiàn),幫助他們輕松的解決了當(dāng)下的需求,大大降低了工作中的壓力。下面我們就來(lái)詳細(xì)了解一下這其中VB.NET變量的相關(guān)概念。#t#
大家可能會(huì)想:對(duì)于一個(gè)學(xué)習(xí)過(guò)任何一種編程語(yǔ)言的人來(lái)說(shuō),像常量,變量之類(lèi)的概念應(yīng)該再熟悉不過(guò)了,但真的是如此嗎?本篇文章將就變量的命名規(guī)則,作用范圍和生存期兩部分深入探討VB.NET變量的使用.
第一部分:VB.NET變量的命名規(guī)則
何為變量的命名規(guī)則?變量的命名規(guī)則就是為了讓代碼更加易于閱讀和維護(hù)管理而制定的程序編寫(xiě)的命名準(zhǔn)則,下面就以微軟建議采用的命名規(guī)則進(jìn)行介紹.
一般變量應(yīng)該遵循如下命名規(guī)則:
范圍+數(shù)據(jù)類(lèi)型+標(biāo)識(shí)名稱(chēng)
其中范圍表示變量的作用范圍,如果是公有變量就用小寫(xiě)的g表示(global),局部變量則直接省略不寫(xiě);
數(shù)據(jù)類(lèi)型則為像Integer,string等數(shù)據(jù)類(lèi)型的小寫(xiě)的三碼簡(jiǎn)寫(xiě).以下列出包含范例數(shù)據(jù)類(lèi)型的三碼簡(jiǎn)寫(xiě)表,供大家參考使用.
- 數(shù)據(jù)類(lèi)型 縮寫(xiě) 范例
- 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
- Stuctureudt udtMyStructure
- 注:udt就是英文user define type的簡(jiǎn)寫(xiě)
標(biāo)識(shí)名稱(chēng):VB.NET變量的主體,建議使用以英文大小寫(xiě)搭配,并以容易記憶,能夠代表變量用意的名稱(chēng),當(dāng)然前提是標(biāo)識(shí)名稱(chēng)必須是合法的(關(guān)于什么才是合法的名稱(chēng)請(qǐng)參考其他的資料),是如自己的名字MyName(按照命名規(guī)則就是strMyName).
依據(jù)變量的數(shù)據(jù)類(lèi)型來(lái)為變量命名,是區(qū)分專(zhuān)業(yè)與業(yè)余程序設(shè)計(jì)師最簡(jiǎn)單的判斷法則,希望大家能有意識(shí)地培養(yǎng)使用這些命名準(zhǔn)則的聲明變量的習(xí)慣.
第二部分:VB.NET變量的作用范圍和生存期
VB.NET是一種基于.NET平臺(tái)面向?qū)ο蟮某绦蛘Z(yǔ)言,具備面向?qū)ο蠹夹g(shù)的所有特性,在.NET平臺(tái)下,所有包括數(shù)據(jù)類(lèi)型,窗體等都是以類(lèi)加以實(shí)現(xiàn)的,要更好理解變量的作用范圍,那么就要以類(lèi)的觀點(diǎn)來(lái)看待變量的作用范圍和生存期.
我們先來(lái)看看變量的一般聲明方式:
- [Public|Protected|Friend
|ProtectedFriend|Private|
dim|static|shared]- VariableName as VariableType
其實(shí)變量的作用范圍和生存期取決兩個(gè)因素:變量聲明使用了[]中的那個(gè)關(guān)鍵字和在何處聲明.
我先來(lái)說(shuō)說(shuō)我們最常用的幾個(gè)關(guān)鍵字:Public,Private,dim,static
Public關(guān)鍵字不能在函數(shù),(事件)過(guò)程,區(qū)域內(nèi)部(如:for..next等語(yǔ)句內(nèi))使用,一般只能在模塊內(nèi)聲明為全局變量,如下的intCount;另外Public在類(lèi)中聲明的是公有變量(成員),表示可以被派生類(lèi)繼承的成員;
- Module module1
- Puplic intCount AS integer
- End Module
用Private,dim聲明的變量都是局部變量,它的范圍取決與變量在何處聲明.如在窗體聲明區(qū)聲明,則有效范圍為窗體內(nèi)部,以此類(lèi)推,在(事件)過(guò)程,模塊內(nèi)聲明,相對(duì)應(yīng)的只有在(事件)過(guò)程,模塊內(nèi)有效.如過(guò)在類(lèi)中聲明變量,則為私有變量(成員),表示部可以被派生類(lèi)繼承的成員;
比較特別的是static,它聲明的變量叫靜態(tài)變量,那么什么是靜態(tài)變量呢?我的說(shuō)法就是:作用范圍和生存期不一致的變量.一般的變量,其作用范圍和生存期都是一致的.static聲明的變量提供了局部的作用范圍和全局的生存期,也就是說(shuō),它的可訪問(wèn)的范圍取決與它在何處聲明所對(duì)應(yīng)的范圍,而無(wú)論在何處聲明,都提供整個(gè)程序的生存期(全局).需要注意的是:不能將 Static 修飾符用于結(jié)構(gòu)中的局部變量
至于Protected,Friend,Protected Friend關(guān)鍵字,則通常用在類(lèi)中進(jìn)行變量的聲明,Protected(保護(hù))的有效范圍介于Public和Private之間:對(duì)于類(lèi)以外的代碼,它像私有成員一樣無(wú)法訪問(wèn),然而對(duì)于繼承它的派生類(lèi)來(lái)說(shuō),就像公有成員一樣可以繼承為自己的成員;Friend(友好)的有效范圍則比Protected更大,只要是同個(gè)項(xiàng)目的文件和類(lèi).均可訪問(wèn),換一種說(shuō)法,就是程序集范圍;Protected Friend則是Protected,Friend的結(jié)合:有效范圍為派生類(lèi)和同個(gè)項(xiàng)目?jī)?nèi)的文件.
還有一個(gè)很重要的關(guān)鍵字--shared.它在類(lèi)中聲明的VB.NET變量叫做共享成員,所謂的共享成員就是在類(lèi)尚未產(chǎn)生實(shí)際的對(duì)象前,便可以訪問(wèn)或調(diào)用的屬性和方法.在這里,我們就拿窗體類(lèi)Form類(lèi)來(lái)說(shuō)明,大家在學(xué)VB.NET的時(shí)候首先要碰到的應(yīng)該就是窗體了吧,但是窗體是一個(gè)類(lèi)而非對(duì)象,那么要使用窗體的一些屬性的話拿就要使用它的共享成員.想必大家還知道activeform吧!在這不用我多解釋,相信聰明的你一定能夠理解吧!