快速业务通道

Flash ActionScript 2.0 基础教程

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-12
ActionScript 2.0-针对OOP的关键字和特性 下面我们将真正研究一下AS2的特性,在早期往往是在讨论AS1复杂的面向对象编程比实际工作更多一些,现在你将很快的看到,你不用花很多时间去争论怎么样做到最好的继承,将代码放置在哪和如何组织好你的代码库。 让我们先回顾一下OOP基础,OOP的最基本单元是对象,它包含两部分:代码和数据。由于对象是一种以自己自足的形式出现,因此它的数据和代码(方法)不需要公开。就象一个黑盒子,对象负责以自身的方法去管理自身的数据,对象与对象之间通过传递信息通讯。这些信息以公用或公开的方式传递和接收。而内部的数据和方法并没有直接参与其中,这就是OOP的基本原理。 在OOP的设计中,比做是一张大图,要想到重点和要实现的目标,以及各个部分之间的联系。将这张大图分成小的单元,并且保证各自的自身独立性,那么整个项目就很容易完成。而这些小的单元在OOP中就被称为类。所有这些AS2都提供了很好的支持。 下面这些关键字与OOP有关: class interface extends implements
public private static dynamic
import get set intrinsic 我们不在重复mcromedia的帮助文档中对每一关键字的描述,我们可以用实例来说明。注意关键字intrinsic是mcromedia内部使用的关键字。这里面没package也就包的关键字,但是它与类路径的工作方式是很重要的,就象是其它语言中的包一样,如JAVA。 下面我们来看一下例子,在AS1中的类,将其改写为AS2的类。 // 构造函数
_global.Parent = function(name) {
this.init.apply(this, arguments);
};
// 类的属性
Parent.lastNames = new Array();
Parent.prototype.init = function(name) {
this.lName = name;
Parent.lastNames.push(name);
this.id = Parent.lastNames.length-1;
trace("Added ’"+ Parent.lastNames[this.id] +"’ at: "+ this.id);
};
Parent.prototype.getLastName = function() {
return (this.lName);
};
Parent.prototype.setLastName = function(s) {
this.lName = s;
Parent.lastNames[this.id] = s;
};
Parent.prototype.getNames = function() {
return (Parent.lastNames);
};
Parent.prototype.addProperty("lastName", Parent.prototype.getLastName, Parent.prototype.setLastName);
Parent.prototype.addProperty("names", Parent.prototype.getNames, null); 上面的代码改写为AS2就向下面这样: 新的关键字被应用在如下的例子中:class, private, public, static, get, set class Parent {
private var lName:String = "";
private var id:Number;
private static var lastNames:Array = new Array();
// 构造函数
public function Parent(name:String) {
init.apply(this, arguments);
}
private function init(name:String):Void {
lName = name;
lastNames.push(name);
id = lastNames.length-1;
trace("Added ’"+ lastNames[id] +"’ at: " + id);
}
public function get lastName():String {
return lName;
}
public function set lastName(s:String):Void {
lName = s;
lastNames[id] = s;
}
public function get names():Array {
return lastNames;
}
} 通过上面的AS1和AS2执行同一个类。我们可以看出二者非常的相似,主要的不同以AS2为例: 1。以外部文件的形式存在如.as,同时注意类的名称要与外部文件名称相同。
2。AS2区分大小写,在AS2中object 和 Object是不同的。
3。类的方法定义在类的内部。
4。类的内部不在允许有内部类出现。
5。关键字如public,private,static等写在类方法或属性的前面。
6。数据类型写在方法或属性名称的后面如:name:string;
7.创建get|set方法更容易使用如下方法:[modifier]

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号