我正在使用一个接口(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/