第二篇中我介绍过,类就是做饺子的塑料模具。到目前为止,我们做好了一个叫做Person的模具。现在我们要用这个模具做真正的饺子了。
还记得你是怎样使用ADODB库中的Recordset对象的吗?你在窗体代码模块,或者标准代码模块里面声明一个Recordset变量(Dim rst as Recordset),然后使用Set rst = New Recordset 语句创建一个Recordset对象,将rst指向这个新创建的对象。这里我们也是一样的操作:插入一个标准代码模块,然后添加一个子程序Test(),在子程序中添加如下代码:
现在对象变量objPerson指向了一个真正的“饺子”了,这个“饺子”有3个属性:姓名,性别,场合。现在这3个属性都是空白的,什么值都没有。所以我们要先给它们赋值。
Option Compare Database Option Explicit Sub test() Dim objPerson As Person Set objPerson = New Person objPerson.Name = "赵冰冰" objPerson.Gender = "女" objPerson.Situation = "一般" End Sub
属性赋值以后,我们就可以调用类的方法了,目前只有一个方法Speak。
Option Compare Database Option Explicit Sub test() Dim objPerson As Person Set objPerson = New Person objPerson.Name = "赵冰冰" objPerson.Gender = "女" objPerson.Situation = "一般" objPerson.Speak End Sub
我们执行一下这个子程序,一个这样的信息窗口就会跳出来:
我们成功了!感觉如何?我们创建了自己的类,又用它实例化了一个对象,设置了它的属性,调用了它的方法。
欣喜之余,冷静的读者可能会提出一个问题来:调用类的方法Speak前,还需要设置这么多的属性,忙乎了半天,这个类也没帮到我们多少事情,何必呢?好吧,你说得对。如果对象在创建的时候,某些属性就能自动初始化,比如让场合(Situation)这个属性默认设置为“一般”,那就好了。我们就可以少初始化一个属性了。
这个问题当然是有办法解决的。这正是下一篇我们要谈到的:类的实例化事件。
怎么弹出 编译错误:无效外部过程。
点击确定后situation变黄。
我用的是access2010。
不好意思,我少写了一个sub