基礎講座之屬覆蓋
屬性操作很像公共變量,但屬性還有更多的控制。
常用屬性通常包括\"Get(獲取)\"和\"Let(設置)\"兩種。這兩項操作能規定一個主要屬性,就像下面的代碼片段:
Private intAge As Integer
Public Property Get Age() As Integer
大眾點評提供他所擅長的生活信息內容。 Age = intAge
End Property
Public Property Let Age(ByVal vNewValue As Integer)
intAge = vNewValue
End Property
上述代碼的工作方式極像Age變量的操作。當像下面語句操作變量時,
e = 4
就好比運行Let屬性,并將4賦給vNewValue。當像下面語句操作變量時,
MsgBox e
是獲取屬性,就好比運行Get屬性,并將相應的值由intAge返回。因此,我們可以這樣認為:
所謂Get屬性,就是運行后獲取某個值;
所謂Let屬性,就是運行后讓某個屬性等于某個值;
但至此為止,我們僅僅說明屬性工作方式與標準變量極為相似,還沒有來得及對屬性進行更多的控制。所以,下面就來討論。
打開上一節的工程,對CDog類進行如下修改:
從CDog類中去掉Age變量;
添加下列代碼:
FACE=\"Courier\" SIZE=2
Private intAge As Integer
Public Property Get Age() As Integer
Age = intAge
End Property
Public Property Let Age(ByVal vNewValue As Integer)
If vNewValue = 50 Then
intAge = vNewValue
End If
End Property
與前面的代碼相比,這里只是對Let屬性代碼作稍加修改。下面對其作小小的測試,假想用戶試圖想使:
e=30
也就是運行Let屬性,使vNewValue等于30。代碼中,還檢測vNewValue是否小于或等于50。顯然,30是符合要求的,因此實例中的intAge值等于30。但如果超過50,則什么也不會發生,屬性退出且沒有任何賦值。當然,我們也可以對此給出相應的錯誤代碼或是顯示一個提示對話框。
切換到Form1后面的代碼窗口;
在設置Age屬性代碼處的第一行語句中單擊鼠標,并按F9;
e = 4
在獲取Age屬性代碼處的第一行語句中單擊鼠標,并按F9;
MsgBox \" is \" e \" years old\"
現在讓我們測試一下:
按F5運行程序;
單擊Command按鈕;
代碼應該中斷在按F9添加的斷點的代碼行上。
當代碼中斷后,按F8單步運行并觀察結果;
現在明白它們是怎樣工作的嗎?注意Age屬性的\"get\"和\"let\"是怎樣運行的?
在下一節中,我們不僅要討論使用更多屬性的方式,而且還討論如何隨意創建它們。
查看本文來源
呂梁白癜風最好醫院銀川醫院男科
重慶無痛人流醫院
- 美國“雙雄”崛起!波音星際客船事與愿違對接國際空間站,意味著啥?
- 移動式核酸采樣工作站團體新標準參數即將發布
- steam塞浦路斯賬號注冊教程 手把手新人注冊指南
- 公募行業出乎意料新規來了!薪酬遞延支付不少于3年,基金經理遞延支付金額不低于40%
- 懷胎初期|如何知道自己懷懷胎了?媽媽新體驗~
- 提前預定金靴?歐冠自已秀,本澤馬獨一檔表現,皇馬有機會翻盤!
- 灰冰糖黃冰糖哪種好?區別挺大,不懂別瞎買,小心買到“假冰糖”
- 田玉達能比王子銘的機會多么?羅伊本羅能傳善射!津門虎露出獠牙
- 給羅威納犬做美容的幾個小提醒位置
- 具有智慧的杜賓犬資料介紹位置
- 我家蘇格蘭牧羊犬老喜歡咬人怎么糾正位置
- 羅威納犬有點感冒流鼻涕打噴嚏如何是好位置