属性具有 Get() 和 Set() 方法,允许您使用相同的调用来获取或分配值。当您为属性分配值时,您正在调用 Set 方法。当您检索一个值时,您使用的是 Get 方法。属性会根据操作自动调用适当的 Get 或 Set 方法。
为了帮助您可视化设置,这里有一个示例属性 (VB.Net):
Private _name As String
Public Property Name() As String
Get
Return _name
End Get
Private Set(ByVal value As String)
_name = value
End Set
End Property
要调用它,您可以使用:
MyObject.Name = "Test" <- Sets the name to test
MsgBox("The name is: " & MyObject.Name) <- Gets the value of name
虽然例子是在 VB.Net 中,但原理还是一样的。
另一方面,方法相当于 Get 或 Set 例程。作为一种方法,您必须调用它并在括号内提供参数。即使它没有,您仍然需要 ()。当您想要更新变量时,您必须将值传递给方法,而不是将其设置为等于该值。
这是一个类似的例子:
Private _name As String
Public Function Name(Optional ByVal strName as String = "") as String
If strName <> "" then
_name = strName
End If
Return _name
End Function
这是如何使用它的类似示例:
MyObject.Name("Test") <- Sets the name to test
MsgBox("The name is: " & MyObject.Name()) <- Gets the value of name