使用类成员:一个简单的示例

类(静态)成员的一种用途是保留有关类及其实例的状态信息。例如,假设您要跟踪从某个类创建的实例的数目。简单的实现方法就是使用一个类属性,每当创建一个新实例时这个属性的值递增。

在以下示例中,您将创建一个名为 Widget 的类,在其中定义一个名为 widgetCount 的静态实例计数器。每次创建该类的一个新实例时,widgetCount 的值都递增 1,并在“输出”面板中显示 widgetCount 的当前值。

使用类变量创建实例计数器:

  1. 新建一个动作脚本 (AS) 文件。
  2. 在文件中添加以下代码:
    class Widget {
      static var widgetCount:Number = 0; // 初始化类变量
      function Widget() {
        trace("Creating widget #" + widgetCount);
        widgetCount++;
      }
    }
    

    由于 widgetCount 变量声明为静态变量,因此仅初始化为 0 一次。每次调用 Widget 类的构造函数时,它都将 widgetCount 的值加 1,然后显示当前创建的实例的编号。

  3. 将文件保存为 Widget.as。
  4. 新建一个 Flash (FLA) 文档,并将其保存到与 Widget.as 相同的目录中,文件名称为
    createWidget.fla。

    在这个文件中,您将创建 Widget 类的新实例。

  5. 在 createWidget.fla 文件中,在“时间轴”中选择“图层 1”,然后打开“动作”面板(“窗口”>“开发面板”>“动作”)。
  6. 在“动作”面板中添加以下代码。
    //在创建类的任何实例之前,
    //widgetCount 为零 (0)
    trace("Widget count at start:" + Widget.widgetCount);
    var widget_1 = new Widget();
    var widget_2 = new Widget();
    var widget_3 = new Widget();
    
  7. 保存文件,然后进行测试(“控制”>“测试影片”)。

    您应在“输出”面板中看到以下内容:

    Widget count at start: 0
    Creating widget # 0
    Creating widget # 1
    Creating widget # 2