共享方法或屬性對於類中的所有例項來說是通用的。這種方法有兩個特別的地方。
首先,共享方法不屬於任何物件,所以它們不能訪問任何物件中的任何例項變數。在共享方法中唯一能使用的變數就是共享變數、傳遞到方法中的引數,或在共享方法內部宣告的變數。如果試圖在共享方法中訪問例項變數,將會產生乙個編譯錯誤。
另外,共享方法實際上是類而非任何物件的一部分,所以可以編寫**,直接從類中呼叫共享方法——無須先建立乙個類例項。
例如,從物件中呼叫乙個常規的例項方法:
dim myperson as new person』()
myperson.walk《42)
可以從類中直接呼叫共享方法,無須先宣告乙個類例項:
person. sharedmethod()
這樣就不必建立只呼叫乙個方法的物件;如果方法作用於共享變數,或者只作用於通過引數傳遞的值,就可以使用共享方法。也可以從物件中像呼叫常規方法一樣呼叫共享方法。共享方法很靈活,因為不管是否先建立了類的例項,都可以呼叫共享方法。
要建立共享方法,要用到shared關鍵字。
public shared function comparelage(byval personl as person, byval person2 as person) as boolean
return personl.age > person2.age
end function
這個方法只接受兩個引數,即兩個person。如果前乙個人年長於第二個人,就返回true。 shared關鍵字的使用表明,無須建立person類的例項,就可以使用這個方法。
在這段**中,我們對兩個物件呼叫了age屬性,把這兩個物件作為引數傳遞到方法中。注意,沒有在方法中直接使用任何例項變數,而是把這兩個物件作為引數,並對這兩個物件呼叫方法。要使用這個方法,可以從類中直接呼叫它:
ifperson.compareage (mypersonl. myperson2} then
也可以從任何person物件中呼叫該方法:
dim myperson as new person (}
ifmyperson.compareage (myperson, myperson2) then
在這兩種方式中,呼叫的是同乙個共享方法,不管是從類中還是從類的例項中呼叫這個共享方法,都會得到相同的結果。
連載 VB 利用方法
delegate c 関數 関數 言 參照 辭書 delegate 権限 任務 責任 委任 委譲 委託 処理 実行 第三者 別 監視 委託 実行処理 渡 第三者 実行 使用方法 定義。実行 決 実裝 引數 戻 値 実行 引數 戻 値 合 public delegate sub printdelgat...
Session共享方法
session複製 每台機器上需要儲存所有的session資訊,機器多的話太大,已經很少有人會使用 nginx通過hash ip來給不同使用者指定固定的機器,session也存在固定的機器上 如果某台服務宕機,則會丟失session 利用cookie記錄 受限於cookie大小,而且每次響應都需要傳...
VB指令碼 BAT指令碼呼叫VB指令碼的方法
毫無疑問地,是懶惰促進或引領著人類科技的發展。工作中使用一些小工具可以大幅提高工作效率,釋放體力勞動,減少手工操作與守候時間,何樂而不為呢?在數通平台軟體的效能或功能穩定性測試過程中,經常需要用一台除錯機 一般是作業系統為 windows 的計算機 通過 securecrt 等遠端登入軟體,連線一台...