- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AS3网页游戏开发教程 主讲人:何韬 单 位:威海职业学院 ----设计模式:单例、适配器和工厂模式 知识回顾: AS3面向对象的多态 新课: 学习设计模式中的单例、适配器和工厂模式,并了解 这几种模式的用法和应用范围 导入: 一、单例模式 二、 适配器模式 三、工厂模式 内容: 一、单例模式 含义: 要求一个类有且仅有一个实例,并提供一个 全局的方法,需要一种机制来实现单例。 优点: 一个静态实例,把共享的属性方法能在任何 一个程序集调用,信息有效的实现操作。 有效降低大模块之间的耦合度。 public class Player { private static var thisa:Player; public function Player(...param:Array) { } public static function getSingleTon():Player{ if(thisa==null){ thisa = new Player(); } return thisa; } 例子: 二、适配器模式 对一个已知类再封装一下,使其能完成类似 的功能的同时又满足某种规范。 一个最简单的适配器要涉及到三个类: 已有类Adaptee 适配器类Adapter 满足的目标接口ITarget 例子: 1.创建接口 package Interface{?public interface Ipeople?{???function eat();//吃饭??function sleep();//睡觉??function run();//跑步??function walk();//行走?}} ?? 2.创建接口实现类 public class PeopleDefault implements Ipeople?{? PeopleDefault()??{??}??public function eat()??{??}??public function sleep()??{ }??public function run()??{??}??public function walk()??{??}?} } 例子: 3.创建具体业务实现类 package Class{?public class ChinaPeople extends PeopleDefault?{??public function ChinaPeople()??{???super();??}??override public function eat():*//覆盖吃饭方法??{??}??override public function run():*//覆盖跑步方法??{??}?} 实现方法 1.用一个抽象类实现已有的接口,并实现接口中所规定的所有方法,这些方法的实现可以都是“平庸”实现----空方法; 2.但此类中的方法是具体的方法,而不是抽象方法,否则的话,在具体的子类中仍要实现所有的方法,这就失去了适配器本来的作用。 3.原本要实现接口的子类,只实现1中的抽象类即可,并在其内部实现时,只对其感兴趣的方法进行实现。 三、工厂模式 含义:专门用来隐藏产品类的,工厂模式专门负责将大量有共同接口的类实例化。工厂模式可以动态决定哪一个类实例化,不必事先知道每次要实例化哪一个类 举例: import flash.utils.getDefinitionByName; var scale:Scale; public function ScaleTest() { var C:Class = getDefinitionByName("bojinmap.Scale") as Class; scale = new C(); } 四、适配器模式用例图 本节课我们学习了AS3设计模式中的单例、适配器模式以及工厂模式,包括它们的用法和适用范围。 下节课我们将继续学习设计模式中的另一种:观察者模式,这一模式会在AS3的多个架构中有深入的应用。 总结:
您可能关注的文档
- 光机电应用技术创客设计旋转钥匙扣56.ppt
- 化学基础熔点、沸点、相对密度、溶解性烷烃的物理性质.ppt
- 建设工程管理BIM技术应用结构工程量计算云自动套.ppt
- 建筑装饰表现技法视图区、菜单栏、命令面板、工具栏的命令操作对象空间修改器之冲突属性.ppt
- 快递分拨中心运营实务公共事故引起的突发应急处理方法公共事故.ppt
- 矿山压力观测与控制采煤工作面顶板灾害防治采煤工作面顶板灾害防治.ppt
- 老年服务礼仪与沟通技巧(专业基础课)人际沟通的概念人际沟通的概念.ppt
- 另类宠物饲养观赏龟的疾病防治观赏龟烂甲病.ppt
- 汽车空调汽车空调9-1空调常见故障诊断(4H).ppt
- 数字排版Indesign12.1陷印与叠印ID-12.1陷印与叠印-课件.ppt
- 地理-内蒙古锡林郭勒盟2023~2024学年第一学期高三年级全盟统考试题和答案.docx
- 历史|湖北元月调考暨湖北省部分市州元月高三期末联考历史试卷及答案.docx
- 历史-内蒙古锡林郭勒盟2023~2024学年第一学期高三年级全盟统考试题和答案.docx
- 数学(理科)-内蒙古锡林郭勒盟2023~2024学年第一学期高三年级全盟统考试题和答案.docx
- 历史丨金太阳24~239C湖北省十堰市2024届高三上学期1月调研考试历史试卷及答案.docx
- 青岛某高层办公楼地下防水施工方案(sbs卷材).docx
- 土木工程实习报告表格.doc
- 工程流体力学教学课件ppt作者闻建龙工程流体力学习题答案部分.doc
- 围手术期管理制度(1)_0.doc
- 2023年公务员多省联考《申论》题(内蒙古旗县卷)及参考答案.doc
文档评论(0)