- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
接口(interface和implements关键字)
前面我们讲过,通过类的继承可以实现父类和子类的继承关系,但是呢,继承只允许一个父类。如果需要实现几种继承关系的话,那么在AS3里边呢就要使用到接口,英文名字叫做interface。接口的声明与类的声明类似,有它自己的关键字。但是接口本身比类要抽象些,有时候也会被人解读做抽象的类。它只包含方法的声明,而不包含方法具体的实现方式,那方法呢必须由实现接口的类来具体定义。
比如我们现在要为这个Pet类定义一个接口,那这个定义接口呢也是用ActionScript文件。大家注意看,在定义接口的时候要用到关键字interface。在as当中呢,大家都习惯前面用大写字母I(interface的首写字母)后面用容易辨认的名称,比如这整个接口我们就叫IPet。IPet里边一共有3种方法,第一是吃,第二是睡,第三是跑。大家注意看,这3个方法它本身是没有用公共方法或者私有方法去区别的。它只是定义了这3个方法,具体实现呢,要到去实现这个接口的具体类当中去实现。那么,现在我们保存一下。
这个,类和类之间继承我们用的是extents这个关键字。同样我们要去实现新的接口,我们还是用extents这个关键字。那大家注意,这里面呢我们定义了IpetCopy这样一个新的接口。那这个接口呢,本身我使用了关键字interface,后边呢它还使用了关键字extents,它扩展了原来的IPet类。也就是说在原来IPet类的3个方法之外,它还可以再定义新的方法,比如这个IPetCopy里边新追加了一个方法叫copy。我们同样保存一下。
接下来,来看一下接口的实现。在讲解接口实现之前呢,我们还是要建一个原型类,也就是我们前边所说的Pet类。一般呢,我们在这种父类当中,有可能会做一些技术处理,防止它被实例化。这个Pet类我们暂定在概念当中它是不会被实例化的。那现在大家可以看到,它声明了两个属性,第一个master定义了一个字符串“Horidream”;第二个呢我还为它定义了一个name,也就是这个Pet的名称,它是没有初始值的。同时呢,我还为它定义了一个公共方法action,这个action实际上在后边我们还可以做一些覆盖(override)的处理。这个就是Pet的结构。同样,保存。
现在我们来看具体实现的方式,我们可以实现一个小狗的具体的类。这个类呢我们要继承Pet类,同时还要实现IPet这个接口。大家可以看具体代码。首先,package,然后使用关键字class来定义Dog类,Dog类呢本身是要继承Pet类的,同时它还要通过implemtnts关键字来启用IPet接口。那么,IPet接口都有哪些呢?大家可以看到,下面有实现IPet接口的全部内容。那另外呢,它继承了Pet类,同样有action这个方法。同时Pet还有name这样一个字符串变量名,那么,我们在Dog的构造函数当中给name提供一个参数,这个参数在实例化的同时是要赋给name这个属性的。注意this.name = name;中。后边的name代表的是参数,前边这个name代表变量名。this这个关键字指该实例,当实例化的时候,该实例的name属性是要被赋予这个name变量提供的值的。一般是这样写法,前后2个代表的意义是不一样的,前边是名称,后边是具体的值,因为“=”这是个赋值号吧。我们也覆盖了原来的action,在这个action当中呢是让小狗输出“汪汪叫”。同时eat的具体方法将输出“主人喂(小狗的名称)吃东西”,sleep这个方法是要输出“(小狗的名称)睡着了”,然后run是要输出“(小狗的名称)欢快地跳着”。这个就是Dog类的具体实现。它本身里面既继承了Pet类的一些属性和方法,同时它也实现了IPet这个接口。我们来把它保存一下。
我们具体实例化后的结果,我们还是用test.fla文件。注意,刚刚我们已经在Dog里边定义了IPet接口里边声明的3个方法。第一个action是它的父类实现的方法,下面run,eat,sleep是我们要实现的接口里面的方法。我们来看一下输出结果。在Dog构造函数里边是需要提供一个名称的,这个名称将赋给Dog一个名字。这样,我在构造函数当中向它提供一个字符串“来福”。大家来看,第一输出了“汪汪叫”父类实现的方法,然后“来福欢快地跳着”“Horidream喂来福吃东西”“来福睡着了”实现了IPet这个接口来定义的3个方法。
如果我们定义了多个接口,实际上,在应用当中也是可以由一个类实现多个接口的。这个在具体的例子当中,比如说我们还要实现IPetCopy这个接口里面copy这个方法,那我们实际上也可以在Dog类里面IPet后面加上IPetCopy中间用逗号隔开。相应的在下面加上copy方法具体的实现内容。然后myDog.copy(
您可能关注的文档
- Ei收录中文期刊一览表.doc
- EM720-1R1T电气火灾监控器.doc
- EMX8.0完美挂上creo2.0及creo3.0.doc
- EnterpriseArchitect7.0入门教程.doc
- ERP沙盘比赛策划书.doc
- ER图转换为关系模型.doc
- Eshow透明厨房方案.doc
- Esxthy中外教育简史串讲笔记.doc
- EverythingIdoandItryhardtoch我所做的一切.doc
- Excel2003查找姓名.doc
- 对先进制程未来需求的思考:从智驾到具身智能,世界还需几个台积和中芯?.pdf
- 数据库发展研究报告(2025年)-大数据技术标准推进委员会.pdf
- 2025年电源管理芯片产业分析报告.pdf
- 氢能与燃料电池行业研究:绿色航运驱动绿氢消纳破局,开启绿醇千万吨级机遇窗口.pdf
- 固态新语朝阳东方初亮,供需旧话风光趋势可期.docx
- 稳定币行业深度报告:合规时代开启,全球竞赛加速.pdf
- 中远海运物流供应链2024年环境、社会及公司治理报告.pdf
- 中国奢侈品行业客户情绪:2025趋势解读与未来应对.docx
- 2025年第二季度「新兴品类」简报(小红书平台).pptx
- 计算机行业2025年中期策略:从AI到企业应用、金融IT到智驾,全线进入发展新阶段.docx
最近下载
- CAD链轮的画法 用CAD链轮的画法 实用.doc VIP
- 2025年电工技师考试题及答案.doc VIP
- 2024—2025学年江苏省苏州市沙溪高级中学高二上学期9月月考语文试卷.doc VIP
- 建筑工程项目管理制度.pdf VIP
- 运动康复中心的创新商业模式探索.docx VIP
- 员工婚丧及伤病住院慰问金实施办法.doc VIP
- TZZB 3693-2024 工程机械渗碳重载圆柱齿轮.pdf
- 护理查房急性心肌梗死护理查房.pptx VIP
- 统编版小学语文五年级上册第一单元 落花生 大单元学历案 教学设计附双减作业设计(基于新课标教学评一体化).docx VIP
- 2025年电工(技师)证考试题及电工(技师)试题答案 .pdf VIP
文档评论(0)