VB.NET聲明結(jié)構(gòu)方法介紹
編程人員在使用VB.NET進(jìn)行編程的時候,會發(fā)現(xiàn)這門語言是一款功能非常強(qiáng)大,能夠幫助我們大大提高編程效率的編程語言。那么我們?nèi)绾尾拍茏钫_的理解這一語言呢?首先讓我們一起來看看VB.NET聲明結(jié)構(gòu)的方法,來初步的了解一下。#t#
“結(jié)構(gòu)”是 Visual Basic 早期版本支持的用戶定義類型 (UDT) 的一般化。除字段外,結(jié)構(gòu)還可以公開屬性、方法和事件。結(jié)構(gòu)可以實(shí)現(xiàn)一個或多個接口,而您可以分別為每個字段聲明訪問級別。
可以合并不同類型的數(shù)據(jù)項來進(jìn)行VB.NET聲明結(jié)構(gòu)。結(jié)構(gòu)將一個或多個“元素”彼此關(guān)聯(lián)并且將它們與結(jié)構(gòu)本身關(guān)聯(lián)。聲明了結(jié)構(gòu)后,它將成為“復(fù)合數(shù)據(jù)類型”,而您可以聲明該類型的變量。
想讓單個變量持有幾個相關(guān)信息時結(jié)構(gòu)很有用。例如,您可能想將一個雇員的姓名、電話分機(jī)號和薪金放在一起??梢詫@些信息使用幾個變量,或者可以定義一個結(jié)構(gòu)并將它用于單個雇員變量。當(dāng)有許多雇員并且因此有該變量的許多實(shí)例時,結(jié)構(gòu)的優(yōu)點(diǎn)變得非常明顯。
使用 Structure 語句語句作為VB.NET聲明結(jié)構(gòu)的開始,并使用 EndStructure 語句作為結(jié)構(gòu)聲明的結(jié)束。在這兩條語句之間必須至少聲明一個“元素”。元素可以是任何數(shù)據(jù)類型,但是至少一個必須是非共享變量,或是非共享非自定義事件。
不能在VB.NET聲明結(jié)構(gòu)中初始化任何結(jié)構(gòu)元素。如果將一個變量聲明為結(jié)構(gòu)類型,則可以通過變量訪問元素來給它們賦值。
關(guān)于結(jié)構(gòu)和類之間的差異的討論,請參見結(jié)構(gòu)和類。
為演示需要,考慮一種情況:跟蹤雇員的姓名、電話分機(jī)和薪金。結(jié)構(gòu)允許在單個變量中實(shí)現(xiàn)。
聲明一個結(jié)構(gòu)
創(chuàng)建結(jié)構(gòu)的開始和結(jié)束語句。
可以使用 Public (Visual Basic)、Protected (Visual Basic)、Friend (Visual Basic) 或 Private (Visual Basic) 關(guān)鍵字指定結(jié)構(gòu)的訪問級別,或者使用默認(rèn)值 Public。
- Private Structure employee
- End Structure
向結(jié)構(gòu)體添加元素。
結(jié)構(gòu)必須具有至少一個元素。必須在VB.NET聲明結(jié)構(gòu)的每個元素并指定其訪問級別。如果使用不含任何關(guān)鍵字的 Dim 語句 (Visual Basic),則可訪問性默認(rèn)值為 Public。
- Private Structure employee
- Public givenName As String
- Public familyName As String
- Public phoneExtension As Long
- Private salary As Decimal
- Public Sub giveRaise(raise As Double)
- salary *= raise
- End Sub
- Public Event salaryReviewTime()
- End Structure
前面的示例中的 salary 字段是 Private,這意味著不能從結(jié)構(gòu)之外訪問該字段,即使是從包含類也不能訪問。但是,giveRaise 過程是 Public,因此可以從結(jié)構(gòu)之外調(diào)用。同樣,可以從結(jié)構(gòu)之外引發(fā) salaryReviewTime 事件。
除了變量、Sub 過程和事件之外,還可以在VB.NET聲明結(jié)構(gòu)中定義常數(shù)、Function 過程和屬性??蓪⒆疃嘁粋€屬性定義為“默認(rèn)屬性”,只要該屬性具有至少一個參數(shù)??梢允褂?Shared (Visual Basic)Sub 過程來處理事件。有關(guān)更多信息,請參見如何:在 Visual Basic 中聲明和調(diào)用默認(rèn)屬性。