VisualBasicCOM基础讲座之属性
属性很像公共变量,但是它们有更多的控制权。
常用的属性通常包括“Get”和“Let”。这两个操作可以指定一个主属性,就像下面的代码片段:
private intAge As Integer
Public Property Get Age()As Integer
Age = intAge
End Property
公共属性Let Age(ByVal vNewValue As Integer)
int Age = vNewValue
End属性
上面的代码非常类似于Age变量的操作。当变量像下面的语句一样被操作时,
我的狗。年龄= 4岁
这就像运行Let属性并将4赋给vNewValue。当变量像下面的语句一样被操作时,
MsgBox MyDog。年龄
获取属性类似于运行Get属性,由intAge返回相应的值。因此,我们可以这样想:
所谓Get属性,就是运行后得到某个值;
所谓Let属性,就是运行后使某个属性等于某个值;
然而到目前为止,我们只解释了属性的工作方式和标准变量非常相似,还没来得及对属性进行更多的控制。所以,下面就来讨论一下。
打开上一节中的项目,并修改CDog类,如下所示:
从CDog类中删除Age变量;
添加以下代码:
FACE="Courier" SIZE=2 >
private intAge As Integer
Public Property Get Age()As Integer
Age = intAge
End Property
公共属性Let Age(ByVal vNewValue As Integer)
If vNewValue intAge = vNewValue
End If
End属性
与前面的代码相比,这里只对Let属性代码做了微小的修改。这里有一个小测试。想象用户试图:
我的狗。年龄=30岁
也就是说,运行Let属性使vNewValue等于30。代码,它还检测vNewValue是否小于或等于50。显然,30符合要求,所以示例中的intAge值等于30。但是如果它超过50,什么都不会发生,并且属性在没有任何赋值的情况下存在。当然,我们也可以给出相应的错误代码或者显示一个提示对话框。
切换到Form1后面的代码窗口;
在设置了年龄属性编码的第一行报表上点击鼠标,按F9;
我的狗。年龄= 4岁
在获取年龄属性编码的第一行语句中点击鼠标,按F9;
MsgBox MyDog。名字&“是”&我的狗。年龄&“岁”
现在我们来测试一下:
按F5运行程序;
单击命令按钮;
代码应该在通过按F9添加的断点所在的行上中断。
代码中断时,按F8一步运行,观察结果;
你知道他们现在是怎么工作的吗?请注意Age属性的“get”和“let”是如何工作的。
在下一节中,我们不仅将讨论使用更多属性的方法,还将讨论如何随意创建它们。
位律师回复
0条评论