我们还是勇敢面对吧:客户端对于Java程序员来说,一直都不是个友好的地方 。Java在客户端的技术,包括applet、Swing和JavaFX到目前为止只取得了有限的 成绩。JavaScript除了它的名字外,几乎没有什么地方像Java语言。而Adobe Flash呢,它看起来的确像JavaScript,真的吗?也许在几年前说Flash就像 JavaScript一样是可以理解的,但随着 ActionScript 3的出现,一切都改变了。 而且我相信你会喜欢它的很多东西。
首先,ActionScript这门针对Adobe Flex和Flash的编程语言,现在是强类型 的了。它也是一流的面向对象语言,包括有类和接口。它还拥有你在Java中找不 到的东西——特别地,它包含属性的get和set方法,以及一个叫做ECMAScript for XML(E4X)的语言扩展,可以将任何XML文档转换成对象,这样你就可以通过 “.”操作符直接引用它们,就跟普通对象一样。
这篇文章会引领你浏览ActionScript的基础内容,以及展示它与你所熟悉的 Java环境的不同。到最后,你就会放弃你对ActionScript 的任何偏见,并开始有 兴趣把玩它。关于Flex、Flash和ActionScript的最伟大的事情之一就是它们完全 是免费的。只要下载了Adobe Flex Builder 3就可以开始了。Flex Builder是一 个复杂的集成开发环境(IDE),而且不是免费的,但它用于构建Flash应用的 Flex软件开发工具包(SDK)是完全免费的。
对阅读本文章的语言发烧友的一句忠告是:我并不是个语言教师,因此我可能 忽略掉一些语言的细节。我也不会在这篇文章中演示ActionScript 3的所有内容 。如果你的确需要这方面的内容,有很多非常棒的ActionScript 3的书籍。我能 给予你的就是你对这门语言的初次的感觉。让我们开始吧。
类和接口
就和Java一样,在ActionScript 3中一切皆是对象。虽然有一些基本类型,比 如integer,但除了这些,一切皆是对象。类似地,就像Java一样,ActionScript 也有命名空间和包,比如com.jherrington.animals,其表示了company/jack herrington/animal下的类。你可以把类放到缺省的命名空间,但更好的方法是由 你自己来控制自己的命名空间。
要定义一个类,你要使用class关键字,这也跟Java一样。请看示例:
package com.jherrington.animals
{
public class Animal
{
public function Animal()
{
}
}
}
在这个例子中,我定义了一个Animal类,以及什么也没干的构造函数。我还可 以很容易地添加一些成员变量并完善这个构造函数,请看示例:
package com.jherrington.animals
{
public class Animal
{
public var name:String = "";
private var age:int = 0;
private function Animal( _name:String, _age:int = 30 )
{
name = _name;
age = _age;
}
}
}