属性过程与公共变量的比较
属性过程具有封装功能,它是如此强大的工具,以致于有时会觉得公共变量有点没用。对于编程来说答案是,“当然-有时是的”。以下是一些基本原则:
以下情况应使用属性过程:
- 属性为只读,或一旦设置就不能改变。
- 属性已设置的值需要验证。
- 超出特定范围的值。例如,负数,虽符合属性的数据类型,但属性如果允许这样的假设值出现,就会导致程序出错。
- 属性的设置可导致一些对象状态的明显变化,例如,Visible 属性。
- 属性设置可改变内部变量或其它属性的值。
以下场合应使用只读属性的公共变量:
- 属性是自验证类型。例如,如果一个不是 True 或 False 的值被赋给 Boolean 变量,则或者出错,或者数据自动转换。
- 在数据类型所支持的范围内的值都是有效的。象许多 Single 或 Double 类型的属性。
- 属性是 String 数据类型,并没有大小或字符串取值的限制。
注意 不要仅仅为了避免函数调用的额外开销而用公共变量来实现一个属性。其实,由于类型库的要求,Visual Basic 在类模块中以任意方式将公共变量作为属性过程对使用。
详细信息 在“运用属性过程”中将介绍属性过程的功能。