【正文】
Get Set(屬性過(guò)程參數(shù)) 語(yǔ)句 End Set End Property 其中,屬性修飾符包括: Public、 Protected、Friend、 Protected Friend 或 Private,用于指明屬性的可訪問(wèn)性;屬性的參數(shù)列表與過(guò)程和函數(shù)的參數(shù)列表含義和用法均相同; Get和 Set為屬性過(guò)程, Get過(guò)程利用返回語(yǔ)句把屬性值返回給調(diào)用者,Set過(guò)程用屬性過(guò)程參數(shù)給屬性賦新值,如果不顯式指明屬性過(guò)程參數(shù),編譯器將使用隱式參數(shù) Value 來(lái)給屬性賦新值。 對(duì)于大多數(shù)屬性來(lái)說(shuō),都有 Get 和 Set 這兩個(gè)屬性過(guò)程,可以完成對(duì)屬性的讀寫操作。然而,也可以使用 ReadOnly 或 WriteOnly 修飾符來(lái)限制對(duì)屬性的讀取或修改,產(chǎn)生只讀和只寫屬性。只讀屬性不能有 Set 屬性過(guò)程,這樣就不能給屬性賦新值,只能讀取屬性值。只寫屬性不能有 Get 屬性過(guò)程,它只能被寫入值,不能從屬性讀取值。例如,只寫屬性可用于存儲(chǔ)密碼。 動(dòng)手做: %@page LANGUAGE = vb% script language=vb runat =server Class Window Private pWidth As Double = 30 Private pHeight As Double = 20 Public Property width() As Double Get Return pWidth End Get Set(ByVal value As Double) pWidth = value End Set End Property Public ReadOnly Property height As Double Get Return pHeight End Get End Property End Class [例 43]()使用屬性 /script HTML HEAD titleTest Property/title /HEAD BODY TABLE width=100% bordercolor=blue border=1 TR height=25 bgcolor=blue TD align=centerfont color=white程序輸出結(jié)果/font/TD/TR TR bgcolor=whiteTD % Dim y As new Window() =200 (The width of window is amp。 amp。 BR) (The height of window is amp。 ) % /TD /TR /TABLE /BODY /HTML 程序輸出如圖 42所示: 點(diǎn)評(píng): 在例子中,聲明了一個(gè)屬性 width,它有Get和 Set屬性過(guò)程。當(dāng)執(zhí)行語(yǔ)句 = 200 時(shí),調(diào)用 Set屬性過(guò)程給 width屬性賦值。當(dāng)執(zhí)行語(yǔ)句 (The width of window is amp。 amp。 BR) 時(shí),調(diào)用 Get屬性過(guò)程獲取 width屬性的值。另外,例子中還聲明了一個(gè)只讀屬性 height,它只有 Get屬性過(guò)程,并且使用 ReadOnly修飾符修飾屬性。 ? 使用 Shared修飾符聲明的字段或?qū)傩允枪蚕碜侄位蚬蚕韺傩浴9蚕碜侄位蚬蚕韺傩圆慌c實(shí)例相關(guān)聯(lián),它屬于類,因此調(diào)用共享字段或共享屬性不需要?jiǎng)?chuàng)建類實(shí)例。只需要在類名和方法名中間加上句點(diǎn)即可。例如: ? Class TestSharedField ? Public Shared ss As Integer ? End Class ? Sub TestShared ? Dim T As TestSharedField 39。 不需要生成類實(shí)例 ? () 39。 直接由類名調(diào)用 ? () ? End Sub ? 在 TestSharedField類中聲明了一個(gè)共享字段 ss,對(duì) ss的引用直接使用類名 TestSharedField。 3. 共享字段和共享屬性 – 方法是表現(xiàn)類或?qū)ο笮袨榈某蓡T函數(shù)或過(guò)程。它與普通的過(guò)程和函數(shù)語(yǔ)法格式基本是一樣的。比如,前面講過(guò)的構(gòu)造函數(shù)和析構(gòu)函數(shù)就是方法,只不過(guò)他們是兩類特殊的方法。 1. 方法聲明 過(guò)程方法聲明的具體格式: 方法修飾符 Sub 方法名(形參列表) 語(yǔ)句 End Sub 函數(shù)方法聲明的具體格式: 方法修飾符 Function 方法名(形參列表) As 返回值數(shù)據(jù)類型 語(yǔ)句 End Function 方法修飾符除了具有普通函數(shù)和過(guò)程的修飾符以外,還包括:Overloads、 Overridable、 MustOverride、 NotOverridable、MustOverride、 Shared和 Shadows。這些修飾符以后會(huì)逐一加以講解。 返回值數(shù)據(jù)類型可以是合法的 。 方法 2. 共享方法 使用 Shared修飾符聲明的方法為共享方法,共享方法不對(duì)特定實(shí)例進(jìn)行操作,它不與實(shí)例相關(guān)聯(lián),它屬于類。因?yàn)楣蚕矸椒ê皖愊嚓P(guān)聯(lián),所以調(diào)用共享方法不需要?jiǎng)?chuàng)建類實(shí)例。要調(diào)用共享方法,只需要類名和方法名,中間加上句點(diǎn)。共享方法不能用 Overridable、 NotOverridable 或 MustOverride 修飾符聲明。模塊中聲明的方法是隱式共享的,不能顯式使用 Shared 修飾符。 %@page LANGUAGE = vb % script language=vb runat =server Class TestMethod Public Shared f As Integer = 10 39。 共享字段 Shared Sub SharedMethod() 39。 共享方法,為共享字段的值增一 f += 1 End Sub End Class /script HTML HEAD titleTest Property/title /HEAD [例 44]()使用共享方法 BODY TABLE width=100% bordercolor=blue border=1 TR height=25 bgcolor=blue TD align=centerfont color=white程序輸出結(jié)果/font/TD/TR TR bgcolor=whiteTD % Dim s As TestMethod 39。 不需要生成類實(shí)例 (The Value of Shared field is amp。 ) () 39。 直接用類調(diào)用共享方法 39。 直接用類名調(diào)用共享方法 (The Value of Shared field is amp。 ) %