你可以在类的构造函数之外声明变量,那么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
答案 0 :(得分:5)
在您的示例中,构造函数没有用处。事实上,如果你把它遗漏了,编译器会继续前进并为你添加完全相同的东西。
构造函数的目标是为类设计者提供一个分配资源的位置。
您还可以在构造函数中定义参数,以强制类使用者为构造函数提供参数,否则该类将无法运行。在你的简单类中不是这种情况,因此构造函数是多余的。
答案 1 :(得分:3)
constructor是object oriented programming范例的一部分,独立于AS3:
在面向对象的编程中,a 类中的构造函数是一种特殊类型 子程序在创建时被调用 一个东西。它准备新对象 使用时,经常接受参数 构造函数用来设置任何 当需要成员变量时 首先创建对象。 more...
答案 2 :(得分:1)
由于你的问题的答案显而易见,我觉得我可能误解了它。如果是这种情况,请告诉我。
构造函数包含将在创建类的实例后立即运行的代码。
这方面的一个很好的例子是将以下内容放入构造函数中:
addEventListener(MouseEvent.CLICK, _click);
这样,您的类的所有新实例都将“配备”应用此事件侦听器。
如果您不需要使用构造函数,那么您不需要像示例中那样手动创建;它将在您编译应用程序时自动创建。