VBA:有类似抽象类的东西吗?

标签 vba excel interface abstract-class

我正在使用一个接口(interface)来确保一些类似的类实现一些强制方法(子/函数)。

示例:

  • 接口(interface) I1 声明 M1 和 M2 方法
  • C1 和 C2 实现 I1,并有自己的 M1 和 M2 版本。

C1 和 C2 也需要完全相同的方法,例如方法 SM1 和 SM2。

为了避免重复 SM1 和 SM2,我想定义一个抽象类 AC:

  • 实现 I1
  • 定义 SM1 和 SM2。

将由 C1 和 C2 扩展

这个解决方案在 Java 中确实可行,但我没有找到任何在 VBA 中执行相同操作的文档。 (VB.Net 似乎允许使用关键字 MustInherit 的抽象类。)

是否可以在 VBA 中确认是否可行?

最佳答案

VBA 中没有继承。

您可以定义一个接口(interface),并可以使用 Implements 关键字在类中实现它。但如果您希望基类预先实现共享功能,则必须使用复制粘贴方法。

相关阅读:
How to use the Implements in Excel VBA
How to use comparison methods between class object modules in VBA in a similar manner as VB.NET?

关于VBA:有类似抽象类的东西吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21220317/

相关文章:

excel - 执行Excel4Macro从关闭的工作簿中获取值

vba - 使用单元格值(日期)导入文本文件

excel - 同一工作表中的不同细胞保护

vba - Excel使用vbTextCompare循环单元格来分配类别

java - Java 中的接口(interface)

c++ - 自动化 C++ 头文件/源代码分离的工具

excel - VBA 初学者 : Greater than

vba - 使用VBA管理同一Word文档中的多个样式定义

excel - VBA Shapes.AddTextbox 方法

angular - 为什么我的 Angular 模板会抛出这个 Typescript 错误?