在 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
关键字定义变量,用
get
和
set
属性定义 getter 和 setter 属性。可以用
function
关键字来声明方法。
可使用
new
运算符来创建类的实例。下面的示例创建 Date 类的一个名为
myBirthday
的实例。
var myBirthday:Date = new Date();