|
 |
栏目导栏 |
|
| |
|
|
|
|
 |
资料搜索 |
|
| |
|
|
|
|
 |
热门文章 |
|
| |
|
|
|
|
 |
最新文章 |
|
| |
|
|
|
| |
| |
|
|
|
|
属性操作很像公共变量,但属性还有更多的控制。 yVLLinux联盟 yVLLinux联盟 常用属性通常包括"Get(获取)"和"Let(设置)"两种。这两项操作能规定一个主要属性,就像下面的代码片段: yVLLinux联盟 yVLLinux联盟 yVLLinux联盟 yVLLinux联盟
Private intAge As Integer yVLLinux联盟 Public Property Get Age() As Integer yVLLinux联盟 Age = intAge yVLLinux联盟 End Property yVLLinux联盟 yVLLinux联盟 Public Property Let Age(ByVal vNewValue As Integer) yVLLinux联盟 intAge = vNewValue yVLLinux联盟 End Property | yVLLinux联盟 上述代码的工作方式极像Age变量的操作。当像下面语句操作变量时, yVLLinux联盟 yVLLinux联盟 yVLLinux联盟 就好比运行Let属性,并将4赋给vNewValue。当像下面语句操作变量时, yVLLinux联盟 yVLLinux联盟 yVLLinux联盟 是获取属性,就好比运行Get属性,并将相应的值由intAge返回。因此,我们可以这样认为: yVLLinux联盟 yVLLinux联盟 所谓Get属性,就是运行后获取某个值; yVLLinux联盟 yVLLinux联盟 所谓Let属性,就是运行后让某个属性等于某个值; yVLLinux联盟 yVLLinux联盟 但至此为止,我们仅仅说明属性工作方式与标准变量极为相似,还没有来得及对属性进行更多的控制。所以,下面就来讨论。 yVLLinux联盟 yVLLinux联盟 打开上一节的工程,对CDog类进行如下修改: yVLLinux联盟 yVLLinux联盟 从CDog类中去掉Age变量; yVLLinux联盟 yVLLinux联盟 添加下列代码: yVLLinux联盟 yVLLinux联盟
FACE="Courier" SIZE=2> yVLLinux联盟 yVLLinux联盟 Private intAge As Integer yVLLinux联盟 Public Property Get Age() As Integer yVLLinux联盟 Age = intAge yVLLinux联盟 End Property yVLLinux联盟 yVLLinux联盟 Public Property Let Age(ByVal vNewValue As Integer) yVLLinux联盟 If vNewValue <= 50 Then yVLLinux联盟 intAge = vNewValue yVLLinux联盟 End If yVLLinux联盟 End Property yVLLinux联盟
| yVLLinux联盟 与前面的代码相比,这里只是对Let属性代码作稍加修改。下面对其作小小的测试,假想用户试图想使: yVLLinux联盟 yVLLinux联盟 yVLLinux联盟 也就是运行Let属性,使vNewValue等于30。代码中,还检测vNewValue是否小于或等于50。显然,30是符合要求的,因此实例中的intAge值等于30。但如果超过50,则什么也不会发生,属性退出且没有任何赋值。当然,我们也可以对此给出相应的错误代码或是显示一个提示对话框。 yVLLinux联盟 yVLLinux联盟 切换到Form1后面的代码窗口; yVLLinux联盟 yVLLinux联盟 在设置Age属性代码处的第一行语句中单击鼠标,并按F9; yVLLinux联盟 yVLLinux联盟 MyDog.Age = 4 yVLLinux联盟 yVLLinux联盟 在获取Age属性代码处的第一行语句中单击鼠标,并按F9; yVLLinux联盟 yVLLinux联盟 MsgBox MyDog.Name & " is " & MyDog.Age & " years old" yVLLinux联盟 yVLLinux联盟 现在让我们测试一下: yVLLinux联盟 yVLLinux联盟 按F5运行程序; yVLLinux联盟 yVLLinux联盟 单击Command按钮; yVLLinux联盟 yVLLinux联盟 代码应该中断在按F9添加的断点的代码行上。 yVLLinux联盟 yVLLinux联盟 当代码中断后,按F8单步运行并观察结果; yVLLinux联盟 yVLLinux联盟 现在明白它们是怎样工作的吗?注意Age属性的"get"和"let"是怎样运行的? yVLLinux联盟 yVLLinux联盟 在下一节中,我们不仅要讨论使用更多属性的方式,而且还讨论如何随意创建它们。
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论 |
|
|
|
|
|