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

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

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

一、从创建项目开始

本文主要是为后面面向对象开发打基础,相信大家都非常的熟悉VS2003/2005/2008中的一中或多种开发工具,那么熟悉开发环境对开发工作肯定是有益无害,还是不废话了,下面便从建立项目开始,近一步的熟悉Adobe Flex CS3开发环境。
        
          
     上图便是Flex创建项目向导,输入个项目名称然后选择项目存储的路径便OK。关于"Application server type"将在后续章节里介绍,然后点“下一步”便完成项目的创建。

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

1 <?xml version="1.0" encoding="utf-8"?>
2 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
3     layout="absolute" >

5 </mx:Application>

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

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

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

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

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

 1     <mx:Script>
 2         <![CDATA[
 3             internal function Init():void {
 4                 //trace("应用程序的初始化方法");
 5                 var a:int = int(txtA.text);
 6                 var b: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     private function Add(a:int, b:int):int {
 9         return a + b;
10     }

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

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

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

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

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

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

1 package ActionScript.OOP
2 {
3     public class Book
4     {
5         public function Book()
6         {
7         }
8     }
9 }

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

 1     private var price:Number = 55.00;
 2     private var name:String = "ActionScript开发手册";
 3         
 4     public function getBookName():String 
 5     {
 6         return this.name;
 7     }
 8         
 9     pulic function getBookPrice():Number 
10     {
11         return this.price;
12     }

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

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

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

做事应该有始有终吧,有了上面的类,虽只是一个用于演示的半成品,总不能上前面的所有努力都付之东流吧,下面来调用下所封装的方法。
     要使用外部封装的类,在ActionScript中和Java中是一样的,通过 Import将外部包导入到当前项目就OK。如下图示:

             

     导入之前我们创建的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下的异常机制。

注:原创文章欢迎转载,本文版权归作者和博客园共有,转载务必注明文章出处。

作     者:Beniao

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

转载于:https://www.cnblogs.com/beniao/archive/2008/12/24/1359233.html

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

  1. Java学习系列(四)Java面向对象之修饰符、封装、继承、多态详解

    今天内容比较多,直接步入正题吧. 类和对象的定义 类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起.而对象是具有类类型的变量,存在于堆内存中.类是对象的抽象,而对 ...

  2. ActionScript 3.0 Step By Step系列(五):走在面向对象开发的路上,以类为基础去思考编程问题...

    面向对象的程序设计(Object-Oriented Programming,简记为OOP)是一种功能非常强大的编程方法,立意于创建软件重用代码,以类为基础去思考编程问题. ActionScript 3 ...

  3. ActionScript 3.0 Step By Step系列(一):工欲其善,先利其器(Flex Builder)

    "砍柴需先磨柴刀"这是长辈们从小就对我们说的话,对于一个从小在贫穷的农村长大的我来说,我决对肯定这句话是对的,大人们上山砍柴前都会先磨柴刀,眼见为识,哈哈!!很明显这就是所谓的&q ...

  4. ActionScript 3.0 Step By Step系列(六):学对象事件模型,从点击按扭开始

    事件可以理解为所发生的.ActionScript 能够识别并可响应的事情.许多事件与用户交互有关 . 例如:用户单击按钮,或按键盘上的键 ― 但也有其它类型的事件.例如,如果使用 ActionScri ...

  5. ActionScript 3.0 Step By Step系列(三):学学流程控制,编编if-else switch while for

    通过前两篇文章对ActionScript 3.0的开发环境和语法基础的介绍,相信已对ActionScript 3.0的编程有了个初步的认识.从本文开始,将逐步的对ActionScript 3.0的语法 ...

  6. Enterprise Library Step By Step系列(一):配置应用程序块——入门篇

    写在前面: 最近准备写Enterprise Library Step By Step的系列文章,对于每一个应用程序块,我都会用入门篇,进阶篇,剖析篇三篇文章去写. 在入门篇里会详细介绍应用程序块的使用 ...

  7. 转~MDX Step by Step 读书笔记(四) - Working with Sets

    查阅我的其它有关 MDX 的学习笔记 - <<Microsoft SQL Server 2008 MDX Step by Step>> 学习笔记连载目录 1. Set  - 元 ...

  8. 积少成多 Flash(ActionScript 3.0 Flex 3.0) 系列文章索引

    [源码下载] 积少成多 Flash(ActionScript 3.0 & Flex 3.0) 系列文章索引 作者:webabcd Flash 之 ActionScript 3.0  1.积少成 ...

  9. python写一个通讯录step by step V3.0

    python写一个通讯录step by step V3.0 更新功能: 数据库进行数据存入和读取操作 字典配合函数调用实现switch功能 其他:函数.字典.模块调用 注意问题: 1.更优美的格式化输 ...

最新文章

  1. hdu4941 map交换行列
  2. 谈一下我们是怎么做数据库单元测试(Database Unit Test)的
  3. ios采用什么技术_app软件公司开发宠物别APP采用什么技术?
  4. 150个Java面试问答-最终清单(PDF下载)
  5. 关于Dictionary的线程安全问题
  6. 什么是DNS云解析?云解析和普通解析有什么区别?
  7. java游戏俄罗斯方块_Java俄罗斯方块小游戏
  8. 苹果开发者中心上传APP屏幕快照
  9. mysql导入(ibd文件)
  10. Centos服务器巡检报告
  11. notepad++更换皮肤
  12. Swing中Laber添加下划线
  13. android+打开apk文件怎么打开,安卓手机apk文件怎么打开
  14. J2ME移动开发平台搭建篇
  15. php怎么读取word文档
  16. IMS-FACNN(Improved Multi-Scale Convolution Neural Network integrated with a Feature Attention Mecha
  17. 智牛股_第4章_Nacos+Ceph分布式存储+Netty通讯
  18. MacOS 上安装 telnet 和 wget
  19. 在这六大场景用上桌面云,你就是最亮的新IT人!
  20. 我的十年编程路 2017年篇

热门文章

  1. JavaScript --- [学习笔记]观察者模式 理解对象 工厂模式 构造函数模式
  2. MySQL 服务器变量 数据操作DML-视图
  3. 这份代码是不是应该有BUG!!
  4. 邮件联系人,如何恕不部分字母就能显示邮件联系人
  5. 三、Eclipse快捷键
  6. qemu PPP连接
  7. XSL学习笔记6 XSLT内置模板规则
  8. Halcon图像增强方法与原理概述
  9. KUKA通信 CREAD问题
  10. 机器学习——深度学习之数据库和自编码器