对象和类

在 ActionScript 3.0 中,每个对象都是由类定义的。可将类视为某一类对象的模板或蓝图。类定义中可以包括变量和常量以及方法,前者用于保存数据值,后者是封装绑定到类的行为的函数。存储在属性中的值可以是基元值,也可以是其它对象。基元值是指数字、字符串或布尔值。

ActionScript 中包含许多属于核心语言的内置类。其中的某些内置类(如 Number、Boolean 和 String)表示 ActionScript 中可用的基元值。其它类(如 Array、Math 和 XML 类)定义更加复杂的对象。

所有的类(无论是内置类还是用户定义的类)都是从 Object 类派生的。以前在 ActionScript 方面有经验的程序员一定要注意到,Object 数据类型不再是默认的数据类型,尽管其它所有类仍从它派生。在 ActionScript 2.0 中,下面的两行代码等效,因为缺乏类型注释意味着变量为 Object 类型:

var someObj:Object; 
var someObj;

但是,ActionScript 3.0 引入了无类型变量这一概念,这一类变量可通过以下两种方法来指定:

var someObj:*; 
var someObj;

无类型变量与 Object 类型的变量不同。二者的主要区别在于无类型变量可以保存特殊值 undefined,而 Object 类型的变量则不能保存该值。

您可以使用 class 关键字来定义自己的类。在方法声明中,可通过以下三种方法来声明类属性:用 const 关键字定义常量,用 var 关键字定义变量,用 getset 属性定义 getter 和 setter 属性。可以用 function 关键字来声明方法。

可使用 new 运算符来创建类的实例。下面的示例创建 Date 类的一个名为 myBirthday 的实例。

var myBirthday:Date = new Date();