本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
================

注会练习软件
http://www.cpasoft.com.cn
我的注会软件官网

http://blog.163.com/abc7105@126/

 

 


哈哈,热爱快“过气”的DELPHI


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:注册会计师(注会)练习软件
日志总数:398
评论数量:116
留言数量:27
访问次数:3268019
建立时间:2005年6月6日




[flash 研究]flash的类定义
软件技术

吕向阳 发表于 2005/7/10 1:10:58

定义一个运算类 class operationClass {private var _num1:Number;private var _num2:Number;function operationClass(varNum1, varNum2) { //构造函数,参数为两个参与运算的数字_num1 = varNum1;_num2 = varNum2;}public function Op(OP:String):Number { //运算函数,返回运算的结果switch (OP) {case "+" :return int(_num1)+int(_num2);break;case "-" :return _num1-_num2;break;case "*" :return _num1*_num2;break;case "/" :if (_num2 == 0) { //如果第2个数为0,则抛出异常throw new Error("除数不能为0");} else {return _num1/_num2;}break;default :return null;break;}}public function showNum():String { //函数返回对两个参与运算的数字的描述return "The Num1 is:"+_num1+" The Num2 is "+_num2;}public function get Num1():Number { //属性 返回第1个参与运算数据return _num1;}public function get Num2():Number { //属性 返回第2个参与运算数据return _num2;}public function set Num1(varNum1:Number):Void { //属性 设置第1个参与运算数据_num1 = varNum1;}public function set Num2(varNum2:Number) { //属性 设置第2个参与运算数据_num2 = varNum2;}} 类的调用 从上面可以看到,我们对类进行了一系列的封装。这就是类的基本特征之一 接下来,我们在2004中,新建一个Flash文档,在文档的舞台中放下如下的组件! import operationClass; //导入刚刚定义的类var listenerObj:Object = new Object(); //新建一个监听的对像listenerObj.click = function() { //为监听对象赋予click事件的函数try {var _op:String;var _num1:Number;var _num2:Number;_op = _root._Operate.selection.data; //._Operate是单选框组的组称_num1 = number1.text;if (isNaN(_num1)) { //判断第一个文本框输入的是不是数字throw new Error("第1个数字不是数字,或输入了空值");}_num2 = number2.text;if (isNaN(_num2)) { //判断第二个文本框输入的是不是数字throw new Error("第2个数字不是数字,或输入了空值");}var _data:operationClass = new operationClass(_num1, _num2); //新建对象变量,赋予对象_result.text = "运算结果为:" + _data.Op(_op);} catch (e) { //捕捉异常,将错误信息显示出来_result.text = e.toString(); }};_btn.addEventListener("click", listenerObj); //为按钮添加监听对像stop();   该文引自http://www2.flash8.net/teach/1850.htm  这里是一些需要注意的事项:   - 类型定义比较严格,而且有自己的方式。AS2 的定义是这样:propName:datatype = value,而 Java 则不同,是这个样子:datatype propname = value;  - 自动处理“this”,您将不用再特地去使用“this”来指定某些 Instance 了;  - 真正的类声明;  - 现在有 public、private 了,但是没有 protected;  - 在类里面使用“var”来创建属性;  - 和 AS1 完全兼容(prototype),所以也可以跑在 Flash Player 6 下面;  - 类代码必须表现为外部的一个 .as 文件,而不像以前那样可以放在一个 Frame、Button 或者 MovieClip 上面。 /** * ActionScript 2.0 class 例子:画方块.*/class Box {   // Box 尺寸.    private var width:Number;    private var height:Number;    // 创建 MovieClip 来显示方块.    private var container_mc:MovieClip;  /**  * 构造器.  */  public function Box (w:Number, h:Number,                 x:Number, y:Number,                  target:MovieClip, depth:Number) {     // 创建一个空的 MovieClip 用来显示方块.     container_mc = target.createEmptyMovieClip("boxcontainer"+ depth, depth);       // 初始化尺寸.     setWidth(w);     setHeight(h);        // 初始化坐标      setX(x);      setY(y);  }  /**  * 返回宽度.  */  public function getWidth ():Number {   return width;  }  /**  * 设置宽度,然后重新绘制方块.  */  public function setWidth (w:Number):Void {    width = w;    draw();  }  /**  * 返回高度.  */  public function getHeight ():Number {    return height;  }  /**  * 设置高度,然后重新绘制方块.  */  public function setHeight (h:Number):Void {    height = h;    draw();  }  /**  * 返回 x 坐标.  */  public function getX ():Number {    return container_mc._x;  }  /**  * 设置 x 坐标.  */  public function setX (x:Number):Void {    container_mc._x = x;  }  /**  * 返回 y 坐标. */  public function getY ():Number {    return container_mc._y;  } /**  * 设置 y 坐标.  */  public function setY (y:Number):Void {    container_mc._y = y;  }  /**  * 显示方块.  */  public function draw ():Void {    // 清除画面,开始做图.    container_mc.clear();    container_mc.lineStyle(1, 0x000000);    container_mc.moveTo(0, 0);    container_mc.beginFill(0xFFFFFF, 100);    container_mc.lineTo(width, 0);    container_mc.lineTo(width, height);    container_mc.lineTo(0, height);    container_mc.lineTo(0, 0);    container_mc.endFill();   }}


阅读全文(2462) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.031 second(s), page refreshed 144762360 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号