假设我有一个类模块clsMyClass,其中一个对象作为成员变量.下面列出了这个非常简单的类的两个完整实现.
实施1:
Dim oObj As New clsObject
实施2:
Dim oObj As clsObject Private Sub Class_Initialize() Set oObj = New clsObject End Sub Private Sub Class_Terminate() Set oObj = Nothing End Sub
这两者之间有什么功能差异吗?特别是oObj的寿命是一样的吗?
在实现1中,clsObject在使用之前不会被实例化.如果从未使用过,那么clsObject.Class_Initialize事件将永远不会触发.
原文链接:https://www.f2er.com/vb/255483.html在实现2中,将在实例化clsMyClass的同时创建clsObject实例.如果创建了clsMyClass,则始终会执行clsObject.Class_Initialize.