共用方式為


Visual Basic 中屬性和變數的差異

變數和屬性都代表您可以存取的值。 不過,儲存體和實作有所差異。

變數

「變數」直接對應記憶體位置。 您可以使用單一宣告陳述式來定義變數。 變數可以是「區域變數」,定義在程序內且只能在程序內使用;或者是「成員變數」,定義在模組、類別或結構內,但不在任何程序內。 成員變數也稱為「欄位」

屬性

「屬性」是在模組、類別或結構上定義的資料元素。 您可在 PropertyEnd Property 陳述式之間以程式碼區塊定義屬性。 程式碼區塊包含 Get 程序、Set 程序或兩者。 這些程序稱為「屬性程序」或「屬性存取子」。 除了擷取或儲存屬性的值以外,它們還能執行自訂動作,例如更新存取計數。

差異

下表顯示變數和屬性之間的一些重要差異。

差異點 變數 屬性
宣告 單一宣告陳述式 程式碼區塊中的陳述式系列
實作 單一儲存體位置 可執行檔程式碼 (屬性程序)
儲存體 直接與變數的值相關聯 通常有內部儲存體,但無法在屬性所包含的類別或模組外部使用

屬性值可能或可能不存在為預存元素 1
可執行檔程式碼 必須至少有一個程序
讀取和寫入存取權 讀取/寫入或唯讀 讀取/寫入、唯讀或唯寫
自訂動作 (除了接受或傳回值) 不可行 可以在設定或擷取屬性值時執行

1 屬性不像是變數,其值可能不會直接對應到單一儲存體項目。 儲存體可能會為了方便或安全性而分割成片段,或值可能以加密格式儲存。 在這些情況下,Get 程序會組合片段或解密預存的值,而 Set 程序會加密新的值或將其分割到組成儲存體。 屬性值可能是暫時的,例如一天中的時間,在此情況下,Get 程式會在每次存取屬性時即時計算它。

另請參閱