程式介紹
Sub
是執行特定任務但不返回特定值的過程。
Sub ProcedureName ([argument_list])
[statements]
End Sub
如果未指定訪問修飾符,則預設情況下,過程為 Public
。
Function
是一個給定資料並返回值的過程,理想情況下沒有全域性或模組範圍的副作用。
Function ProcedureName ([argument_list]) [As ReturnType]
[statements]
End Function
Property
是封裝模組資料的過程。屬性最多可以有 3 個訪問器:Get
用於返回值或物件引用,Let
用於賦值,和/或 Set
用於分配物件引用。
Property Get|Let|Set PropertyName([argument_list]) [As ReturnType]
[statements]
End Property
屬性通常用在類模組中(儘管它們也允許在標準模組中使用),從而將訪問器暴露給呼叫程式碼無法訪問的資料。僅暴露 Get
訪問器的屬性是只讀; 只暴露 Let
和/或 Set
訪問器的屬性是只寫。只寫屬性不被認為是一種很好的程式設計習慣 - 如果客戶端程式碼可以寫一個值,它應該能夠讀回來。考慮實現 Sub
過程而不是建立只寫屬性。
返回一個值
Function
或 Property Get
過程可以(並且應該!)向其呼叫者返回一個值。這是通過分配過程的識別符號來完成的:
Property Get Foo() As Integer
Foo = 42
End Property