·您的位置: 首页 » 资源教程 » 创意设计 » Flash » AS1.0的OOP 与 AS2.0的OOP对比

AS1.0的OOP 与 AS2.0的OOP对比

类别: Flash教程  评论数:0 总得分:0
    AS1.0用Function构造的OOP并不是完善的OOP.而AS2.0在定义时就严格要求.这对写程序有很大帮助……

    以前用AS1.0做OOP架构时,使用的是Function构造函数和定义子(私有)函数通过prototype比如建立一个textField,用于显示一个文本集合。

    FLA的第一帧,以下内容为程序代码:

#include "mytestload.as"  //如果用AS2.0这句不需要
_root.createTextField("mytext",1,50,50,100,20);
var text_arr = new Array("one","two","three");
var txtobj = new mytextload(mytext,text_arr);  //调用函数

    用AS1.0 建立的 mytestload.as

_global.mytestload=function(txt,txt_arr){
  this.mytext_txt = txt; //定义有公有变量
  this.mytext_txt_arr = txt_arr;
  this.textload(2); //运行子函数
}
mytestload.prototype.textload=function(n){
//构造私有函数
  this.mytext_txt.text = this.mytext_txt_arr[n];
}

    再来看看AS2.0写的mytextload.as

class mytextload {
  var tmptxt1:TextField; //公共变量
  var tmptext_arr1:Array;
  function mytextload(tmptxt:TextField,tmptext_arr:Array){
    tmptxt1 = tmptxt;//定义公共变量
    tmptext_arr1 = tmptext_arr;
    text_load(2);
  }
  private function text_load(n:Number) //建立私有函数{
    tmptxt1.text = tmptext_arr1[n];
  }
}

    很明显,AS2.0在变量和传递值类型要求语法是很严格的,并且在定义私有,公有函数,变量里也是要求严格的.

    而AS1.0用Function构造的OOP并不是完善的OOP.如果用过C#,JAVA就明白变量和函数的严格定义是很重要的.特别是返回和传递类型,子函数,超类.而AS1.0要实现这种架构组成AS类的话.得要有点头昏.比如对返回类形是OBJECT,还是ARRAY,或MC,而AS2.0在定义时就严格要求.这对写程序有很大帮助..

    FLASH2004如果用Function.prototype构造OOP结构,发布时FLASH时要发布成flash6.0 AS1.0的格式,AS2.0不采用Function函数构造器形式.这个可以看flash2k4的帮助文件里找Function class,可以了解更多.

    当然AS1.0存在了很长时间,也可以实现OOP结构很好.重要的理解和熟练运用其实一种,理解OOP,FLASHMX和FLASH2K4都是不错的软件.这里只是把两种的主要区别写了出来.

-= 资 源 教 程 =-
文 章 搜 索
关键词:
类型:
范围:
纯粹空间 softpure.com
Copyright © 2006-2008 暖阳制作 版权所有
QQ: 15242663 (拒绝闲聊)  Email: faisun@sina.com
 纯粹空间 - 韩国酷站|酷站欣赏|教程大全|资源下载|免费博客|美女壁纸|设计素材|技术论坛   Valid XHTML 1.0 Transitional
百度搜索 谷歌搜索 Alexa搜索 | 粤ICP备19116064号-1