flash as3教程(4):编写可重用代码

来源:岁月联盟 编辑:zhu 时间:2009-01-15
flash as3教程(4):编写可重用代码内容简介: 增强代码的可重用能力,从创建可重用的代码开始,可重用的代码则是通过从现有代码中重构加以封装,使其成为功能单一的可复用代码块。这句话笼统点说便是封装或抽象。 在实际的编程开发中,要实现代码重用,而不

  增强代码的可重用能力,从创建可重用的代码开始,可重用的代码则是通过从现有代码中重构加以封装,使其成为功能单一的可复用代码块。这句话笼统点说便是“封装”或“抽象”。

  在实际的编程开发中,要实现代码重用,而不是每次都去Copy同样的代码,我们可以创建一个方法,将代码封装在方法里然后在需要的地方调用它;如果每次执行的任务都有微小的变化,但又不想每次都复制那些代码修改一次,我们可以给方法传递参数让它适宜不同的情况。

  本文仍然属于基础篇文章,还是着重介绍ActinScript开发的基础知识,以及结合Adobe Flex CS3开发环境,介绍怎么使用Flex这样优秀的IDE环境去创建ActionScript程序,以及以类文件为基础去封装程序代码,使其成为可复用的代码等。

  一、从创建项目开始

  本文主要是为后面面向对象开发打基础,相信大家都非常的熟悉VS2003/2005/2008中的一中或多种开发工具,那么熟悉开发环境对开发工作肯定是有益无害,还是不废话了,下面便从建立项目开始,近一步的熟悉Adobe Flex CS3开发环境。

  ActionScript 3.0 Step By Step系列(四):来自面向对象开发之前的呐喊:“学会写可重用的代码”

  上图便是Flex创建项目向导,输入个项目名称然后选择项目存储的路径便OK。关于"Application server type"将在后续章节里介绍,然后点“下一步”便完成项目的创建。

  成功创建项目后,在项目的src下便有一个mxml文件(此文件在之前的文章里有介绍),查看其源视图可以看到:

1<?xmlversion="1.0"encoding="utf-8"?>
2<mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"
3  layout="absolute">
4
5</mx:Application>
6

  OK,此你看到的便是在Flex环境下开发ActionScript应用的开发模型结构,一个mxml对应的则是一个应用界面。那好,有了开发模型是不是应该放点代码进去呢?我们可以通过creationComplete属性为应用指定一个初始化方法:

1<?xmlversion="1.0"encoding="utf-8"?>
2<mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"
3  layout="absolute"creationComplete="Init()">
4  <mx:Script>
5    <![CDATA[
6      internalfunctionInit():void{
7        trace("应用程序的初始化方法");
8      }
9    ]]>
10  </mx:Script>
11</mx:Application>

  二、使用方法创建可重用代码

  现在有这样一个小的需求,我们需要计算两个数的和。OK,这个简单,拖两个文本输入框组件来输入数据和显示计算结果,在放置一个按扭来执行计算命令就OK。

  ActionScript 3.0 Step By Step系列(四):来自面向对象开发之前的呐喊:“学会写可重用的代码”  

  从上图上可以看出为按扭添加了click方法,click方法Init()的代码如下:

1  <mx:Script>
2    <![CDATA[
3      internalfunctionInit():void{
4        //trace("应用程序的初始化方法");
5        vara:int=int(txtA.text);
6        varb:int=int(txtB.text);
7        txtC.text=(a+b).toString();
8      }
9    ]]>
10  </mx:Script>

  通过上面的尝试,其实我们已经学会了使用方法去封装代码,那么如何达到可重用呢?在这里我就不多说了,和其他的语言一样,要达到灵活度重用度高,那便是对现有代码进行重构,比如上面代码我们可以进行一次重构让其成为真正能够重用的代码。首先要弄清楚功能需求,我们需要一个可重用的方法来计算两个数之和。OK,下面来重构吧!

1  /*
2   *方法功能:计算两个数之和
3   *参数说明:
4   *    a:整型
5   *    b:整型
6   *返回值:返回传递进来的两个整型参数之和(int)
7   */
8  privatefunctionAdd(a:int,b:int):int{
9    returna+b;
10  }

  通过上面的重构,抽象出了一个通用的可重用的方法,以后需要计算和的地方直接使用此方法便OK。如上我们边完成了通过方法来封装程序代码,以到达可重用的目的。

  注意上面示例只是为了方便理解,实际编程开发中并非只是如此简单的封装,重构过程也不会这么简单。

  三、养成使用类封装方法的好习惯

  在实际开发中,封装程序代码并非我们上面所演示的这样简单,需要更加集中、有序或是按照一定的规律来进行封装。通常都是使用类将方法封装在一起,而方法则封装实现具体业务功能的代码。OK,说到类,那我们就从创建一个类文件开始。

  ActionScript 3.0 Step By Step系列(四):来自面向对象开发之前的呐喊:“学会写可重用的代码”

  图比文章更具有说服力,创建类文件的过程直接扫描上图便知。OK,继续下一张图:

 ActionScript 3.0 Step By Step系列(四):来自面向对象开发之前的呐喊:“学会写可重用的代码”

  通过上面这两步,便创建了一个名为Book的ActionScript类,相应的文件为Book.as,新建立的Book类的结构如下:

1packageActionScript.OOP
2{
3  publicclassBook
4  {
5    publicfunctionBook()
6    {
7    }
8  }
9}

  在ActionScript中的编程方式和Java大同小异,同Java一样有包的概念,如同.net下的名称空间。如上代码快,不同的是方法的定义上多了一个关键字“function”。OK,下面我们为Book类添加两个方法,获取图书的名称和价格:

1  privatevarprice:Number=55.00;
2  privatevarname:String="ActionScript开发手册";
3    
4  publicfunctiongetBookName():String
5  {
6    returnthis.name;
7  }
8    
9  pulicfunctiongetBookPrice():Number
10  {
11    returnthis.price;
12  }

  通过上面一步一步的努力劳动,已经熟练的掌握了使用类来封装方法。  

  注意上面示例只是为了方便理解,实际编程开发中并非只是如此简单的封装,应该根据实际的业务逻辑来处理。

  三、调用可重用代码的方法

  做事应该有始有终吧,有了上面的类,虽只是一个用于演示的半成品,总不能上前面的所有努力都付之东流吧,下面来调用下所封装的方法。

  要使用外部封装的类,在ActionScript中和Java中是一样的,通过 Import将外部包导入到当前项目就OK。如下图示:

  ActionScript 3.0 Step By Step系列(四):来自面向对象开发之前的呐喊:“学会写可重用的代码”

  导入之前我们创建的Book类,通过实例化类对象便可以调用类中所封装的公共方法了,这点和C#/Java也是一样的。至此,使用Flex开发环境,通过类封装方法,使其成为可重用的代码就介绍到这里,更深入的知识点将在后续章节逐步介绍。

  三、使用异常加强代码的健壮性

  ActionScritp 3.0中使用异常,和C#/Java一样的,这里就不做详细介绍。有兴趣的可以参考下面的文章。

  异常和异常处理(C#编程指南):http://msdn.microsoft.com/zh-cn/library/ms173160.aspx。如果要了解和学习ActionScript 的各种异常类请查看文档。官方在线帮助文档地址请查看第本系列的第二篇文章,ActionScript 3.0 Step By Step系列(二):建立扎实的ActionScript 3.0语法基础

  四、本文小结

  1、近一步熟悉Adobe Flex开发环境。

  2、在Flex下使用Action Class文件封装方法,使其成为可复用代码以及调用。

  3、ActionScript 3.0下的异常机制。

  文章出处:http://beniao.cnblogs.com/