快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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

    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都是不错的软件.这里只是把两种的主要区别写了出来.


返回类别: Flash教程
上一教程: Flash MX 2004实例制作视频教程:《江南》MV制作(1)
下一教程: FlashMX特效之扩散与挤压

您可以阅读与"AS1.0的OOP 与 AS2.0的OOP对比"相关的教程:
· Flash AS学习:oop的经典教程-as2.0篇
· AS2.0出色特效之位图的飘动
· Flash绘画技巧:几个版本的对比[Flash视频教程]
· Template Method(模板方式)模式AS2实现
· 用AS2解决中文ID3的乱码
    微笑服务 优质保证 索取样品