如何:向类添加字段和属性
更新:2007 年 11 月
可以使用字段和属性在对象中存储信息。虽然从客户端应用程序角度来看,字段和属性几乎无法区别,但在类中声明它们的方式不同。字段只是类所公开的简单公共变量,而属性使用 Property 过程控制如何设置或返回值。
向类添加字段
在类定义中声明一个公共变量,如下面的代码所示:
Class ThisClass Public ThisField As String End Class
向类添加属性
在类中声明一个局部变量来存储属性值。因为属性不会自行分配任何存储区,所以该步骤是必需的。若要保护它们的值不被直接修改,应当将用于存储属性值的变量声明为 Private。
根据需要以修饰符(如 Public 和 Shared)作为属性声明的开头。使用 Property 关键字声明属性名称,并声明属性存储和返回的数据类型。
在属性定义内定义 Get 和 Set 属性过程。Get 属性过程用于返回属性值,其在语法上与函数大致等效。它们不接受参数,并可用于返回私有局部变量的值,这些变量在类中声明并用于存储属性值。Set 属性过程用于设置属性值;它们有一个参数(通常称为 Value),其数据类型与属性本身相同。每当属性值更改时,Value 均会被传递给 Set 属性过程,在该过程中可以验证它并将其存储在一个局部变量中。
使用相应的 End Get 和 End Set 语句终止 Get 和 Set 属性过程。
使用 End Property 语句终止属性块。
说明: 如果您是在 Visual Studio 集成开发环境 (IDE) 中工作,可以指示它创建空的 Get 和 Set 属性过程。键入 Property PropName As DataType(其中,PropName 是属性的名称,DataType 是特定的数据类型,如 Integer),属性过程将出现在“代码编辑器”中。
下面的示例在类中声明一个属性:
Class ThisClass Private m_PropVal As String Public Property One() As String Get ' Return the value stored in the local variable. Return m_PropVal End Get Set(ByVal Value As String) ' Store the value in a local variable. m_PropVal = Value End Set End Property End Class
当创建 ThisClass 的一个实例并设置 One 属性的值时,将调用 Set 属性过程且该值在 Value 参数中传递,该参数存储在名为 m_PropVal 的局部变量中。当检索到此属性值时,将像函数那样调用 Get 属性过程并返回存储在局部变量 m_PropVal. 中的值。