2013年10月24日

摘要: 优化后的代码override public function addElement(e:BasicElements):void { var i:int = this.aElements.indexOf(e); //i如果等于-1说明aElements中不含有e if ( i< 0) { this.aElements.push(e); }else { this.aElements.splice(i, 1, e); this.aElements.push(e); } //this.aElements.push(e); } 阅读全文
posted @ 2013-10-24 17:18 我是业余程序员 阅读(122) 评论(0) 推荐(0) 编辑
 
摘要: //flash的显示列表子在我看来是个很好的组合模式的例子,今天要写一个程序用到了这个模式,//突然想到同一个spr在舞台上add两次会不会出现两个呢?于是写代码验证之.var spr:Sprite = new Sprite(); spr.graphics.lineStyle(1, 0xff0000); spr.graphics.drawCircle(0, 0, 100); this.addChild(spr); trace(this.numChildren); this.addChi... 阅读全文
posted @ 2013-10-24 16:39 我是业余程序员 阅读(162) 评论(0) 推荐(0) 编辑
 
摘要: 1概述1.1 组合模式(Composite Pattern)1.2 定义1.3 涉及角色:1.4 适用性2总结3示例3.1 基于Java的样例:3.2 基于C++的样例:1概述组合模式(Composite Pattern)有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。组合模式让你可以优化处理递归或分级数据结构。有许多关于分级数据结构的例子,使得组合模式非常有用武之地。关于分 级数据结构的一个普遍性的例子是你每次使用电脑时所遇到的:文件系统。文件系统由目录和文件组成。每 阅读全文
posted @ 2013-10-24 14:11 我是业余程序员 阅读(158) 评论(0) 推荐(0) 编辑
 
摘要: 在子类中,经常要改变继承自父类中的某个属性或方法中的内容,但不改变名称,从而达到子类同名方法实现不同功能的多态效果,这种方式叫作重写(Override)。在 ActionScript 3中,只能重写实例方法,不能重新实例属性。而静态成员由于不被继承,如果要“重写”,可以直接在子类中定义同名成员。被关键字 final 定义过的实例方法不能重写,父类的 private 成员不能被重写。要成功重写实例方法必须满足以下条件,缺一不可;必须用 override 关键字 在行首标明这是重写子类中被重写的方法和父类的方法有同样的访问控制、同样的参数数目和参数类型、同样的返回类型。重写的方法中定义的参数名称不 阅读全文
posted @ 2013-10-24 10:19 我是业余程序员 阅读(171) 评论(0) 推荐(0) 编辑