Private

編程語句

Private ,編程語句在模塊級別中使用,用於聲明私有變數及分配存儲空間。

語法Private [WithEvents] varname[([subscripts])] [As [New] type] [,[WithEvents] varname[([subscripts])] [As [New] type]] . . .

語法


Private 語句的語法包含下面部分:
WithEvents,可選的。關鍵字,說明 varname 是用來響應由 ActiveX 對象所觸發的事件的對象變數。只有在類模塊中才是合法的。使用 WithEvents,可以定義任意個所需的單變數,但不能用 WithEvents 創建數組。New 和 WithEvents 不能一起使用。
varname必需的。變數的名稱;遵循標準的變數命名約定。
subscripts可選的。數組變數的維數;最多可以定義 60 維的多維數組。subscripts 參數的使用語法如下: [lower To] upper [,[lower To] upper] . . . 如果不顯式指定 lower,則數組的下界由 Option Base 語句控制。如果沒有 Option Base 語句則下界為 0。
New可選的。使其可以隱式地創建對象的關鍵字。如果使用 New 聲明對象變數,則在第一次引用該變數時創建該對象的新實例,因此不必使用 Set 語句來對該對象引用賦值。New 關鍵字不能聲明任何內部數據類型的變數以及從屬對象的實例,也不能與 WithEvents 一起使用。
type可選的。變數的數據類型;可以是 Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(尚不支持)、Date、String(對可變長的字元串)、String * length(對定長的字元串)、Object、Variant、用戶定義類型或對象類型。所聲明的每個變數都要一個單獨的 As type 子句。

說明


說明:Private 變數只能在包含其聲明的模塊中使用。可以使用 Private 語句聲明變數的數據類型。例如,下面的語句聲明了一個 Integer 類型的變數:“Private NumberOfEmployees As Integer”也可以使用 Private 語句來聲明變數的對象類型。
下面的語句為工作表的新實例聲明了一個變數。Private X As New Worksheet如果在定義對象變數時沒有使用 New 關鍵字,則在使用該變數之前,必須使用 Set 語句將一個已有的對象賦給該引用對象的變數。
在賦值之前,所聲明的這個對象變數有一個特定值 Nothing,這個值表示該變數沒有指向任何對象的實例。如果不指定數據類型或對象類型,且在模塊中沒有使用 Deftype 語句,則按預設情況該變數為 Variant 類型。可以用帶空圓括弧的 Private 語句來聲明動態數組,然後可以在過程內用 ReDim 語句來定義該數組的維數和元素。如果試圖在 Private,Public 或 Dim 語句中重新定義一個已顯式定義了大小的數組的維數,就會發生錯誤。當初始化變數時,數值變數被初始化為 0,變長的字元串被初始化為一個零長度的字元串 (""),而定長的字元串則用 0 填充。Variant 變數被初始化為 Empty。用戶自定義類型的變數的每個元素作為各自獨立的變數進行初始化。注意 當在過程中使用 Private 語句時,通常將 Private 語句放在過程的開始。
區分:private,空,protected,public 許可權
使用private修飾符可以完全隱藏類的成員,使得不能從類外直接訪問它們。
不使用修飾符允許同一個包里的任何類直接訪問類的成員,但是其他包中的類不可以。
使用protected修飾符允許任何包中的子類或同一包的類的成員。
使用public修飾符允許任何類訪問類的成員。