当前位置:  开发笔记 > 编程语言 > 正文

Excel VBA对象构造函数和析构函数

如何解决《ExcelVBA对象构造函数和析构函数》经验,为你挑选了4个好方法。

我需要在VBA中制作一些需要互相引用的自定义对象,我有一些问题.

首先 - 对象构造函数如何在VBA中工作?有施工人员吗?

第二 - 有破坏者吗?VBA如何处理对象生命周期的结束?如果我有一个引用其他对象的对象(这是他们唯一的引用),那么我可以将它设置为Nothing并用它完成或者是否会产生内存泄漏?

这种准OO的东西只是有点刺激.



1> Will Rickard..:

VBA支持类模块.它们具有构造函数的Class_Initialize事件和作为析构函数的Class_Terminate.您可以定义属性和方法.我相信VBA使用对象生命周期的引用计数.这就是为什么你会在那种类型的代码中看到很多Set whatever = Nothing的原因.在您的示例中,我认为它不会泄漏任何内存.但是你需要注意循环引用.



2> Colin..:

如果要在VBA中创建类模块,对于构造函数,可以使用:

Private Sub class_initialize()
....
End Sub

没有析构函数,因为VBA是垃圾收集的.只需确保清理任何循环引用,您应该避免任何可能的内存泄漏.


没有析构函数是不正确的.它是Class_Terminate

3> 小智..:

自从我使用它们已经有一段时间了,但我认为你不能将参数传递给构造函数.我认为这是我遇到的问题之一,但我遇到了很多关于这些课程如何工作的问题,以及我如何期望它们能够工作,我可能会记错了.



4> TechnoS..:

存在Class_Terminate,它与析构函数几乎相同.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有