AS3构造函数 - 重点是什么?

时间:2011-06-23 07:16:15

标签: flash actionscript-3 oop actionscript

你可以在类的构造函数之外声明变量,那么AS3中构造函数的重点是什么?

示例:

 package {
    public class traceText {
        var i:String = "Hello!";
        public function traceText() {
        }
        public function sayHello() {
            trace(i);
        }
    }
}

import traceText;
j = new traceText;
j.sayHello();

我知道你不能调用函数,但是当执行类中的代码时,构造函数的目的是什么?为什么不允许功能并使其更简单?

如果我无知,我道歉,我正在学习as3

3 个答案:

答案 0 :(得分:5)

在您的示例中,构造函数没有用处。事实上,如果你把它遗漏了,编译器会继续前进并为你添加完全相同的东西。

构造函数的目标是为类设计者提供一个分配资源的位置。

您还可以在构造函数中定义参数,以强制类使用者为构造函数提供参数,否则该类将无法运行。在你的简单类中不是这种情况,因此构造函数是多余的。

答案 1 :(得分:3)

constructorobject oriented programming范例的一部分,独立于AS3:

  

在面向对象的编程中,a   类中的构造函数是一种特殊类型   子程序在创建时被调用   一个东西。它准备新对象   使用时,经常接受参数   构造函数用来设置任何   当需要成员变量时   首先创建对象。 more...

答案 2 :(得分:1)

由于你的问题的答案显而易见,我觉得我可能误解了它。如果是这种情况,请告诉我。

构造函数包含将在创建类的实例后立即运行的代码。

这方面的一个很好的例子是将以下内容放入构造函数中:

addEventListener(MouseEvent.CLICK, _click);

这样,您的类的所有新实例都将“配备”应用此事件侦听器。

如果您不需要使用构造函数,那么您不需要像示例中那样手动创建;它将在您编译应用程序时自动创建。