1
4
以下是我在VBA中使用OOP概念时所做的一些观察:
VB6/VBA范例将类设想为封装对象功能和属性的一种方式。从这个意义上说,VB6/VBA的对象就像任何其他基本的OOP环境一样存在,在适当的情况下,应该鼓励使用和设计它们。 然而,由于缺少几个关键的OOP特性,VB6/VBA无法完全实现一个完整的OOP设计模式。 |
2
5
使用VBA,您可以创建自己的类,也可以从这些类创建对象。然而,VBA不支持继承,并且不真正支持在诸如C++或.NET之类的OO语言中使用的术语的古典意义中的“多态”。 VBA类确实支持封装和抽象。 |
3
0
VBA的一个特殊缺点是对象数组的封装。 可以有对象数组,但不能向下移动一层以上。 解决方法是存在的,例如通过使用Variant类型,但是您会失去类型安全性。 这使得使用分层对象结构很麻烦,而最终可能会得到复杂的代码。 |