代码之家  ›  专栏  ›  技术社区  ›  amr osama

可用OOP概念列表

  •  7
  • amr osama  · 技术社区  · 14 年前

    有人能给我列出VBA中的OOP概念吗?

    例如,通过阅读我发现:

    1. 继承在VBA中不可用。
    2. 封装概念就在这里,因为您可以使用访问修饰符“private”并构建公共属性。
    3 回复  |  直到 6 年前
        1
  •  4
  •   Ben McCormack    14 年前

    以下是我在VBA中使用OOP概念时所做的一些观察:

    • 你有一个无参数的 Class_Initialize 方法,但不能重载该方法以处理参数。如果您想强制您的类在没有设置某些属性的情况下不具有“完全功能”,那么您必须以自己的方式编写。
    • 类和模块都可以有公共和私有字段。模块中的公共字段本质上是一个全局变量。

    VB6/VBA范例将类设想为封装对象功能和属性的一种方式。从这个意义上说,VB6/VBA的对象就像任何其他基本的OOP环境一样存在,在适当的情况下,应该鼓励使用和设计它们。

    然而,由于缺少几个关键的OOP特性,VB6/VBA无法完全实现一个完整的OOP设计模式。

        2
  •  5
  •   pbanfi    14 年前

    使用VBA,您可以创建自己的类,也可以从这些类创建对象。然而,VBA不支持继承,并且不真正支持在诸如C++或.NET之类的OO语言中使用的术语的古典意义中的“多态”。

    VBA类确实支持封装和抽象。

        3
  •  0
  •   JKAbrams    6 年前

    VBA的一个特殊缺点是对象数组的封装。

    可以有对象数组,但不能向下移动一层以上。 解决方法是存在的,例如通过使用Variant类型,但是您会失去类型安全性。 这使得使用分层对象结构很麻烦,而最终可能会得到复杂的代码。

    推荐文章