再理解 as3.0接口
As3.0 接口的理解与运用
1.把接口当作“类”来理解。你easy接受她。 我们看她的标准结构:
package 包路径{
public interface 接口名称{
function 方法名(參数:參数类型):返回类型;
static function 方法名(參数:參数类型):返回类型;
function get 方法名():返回类型;
function set 方法名(參数:參数类型):void; } }
特记:方法没有大括号{},就是仅仅是声明方法,而没有实体。
有名无实。
2. 接口是为类准备的“组件”,没有类。接口什么用处也没有。 类是实现接口方法的唯一途径。
3. 类“使用”接口时,当作“继承”来理解,虽然与类的继承不一样。 在继承时,“必须”“全然”“覆盖”接口中的“方法”和“属性”。
让接口的方法有实体。名符事实上了。才干顺理成章地干活!
4. 接口能够被类“多继承”。反言之:一个类能够实现多个接口。这正是接口的长处。
老祖宗多,家产兴盛、財源滚滚。
接口一: packageLir{
publicinterface IALL{
function clone1():String;
}
}
接口二: packageLir{
publicinterface IDLL{
function clone1():String;
}
}
使用多接口的类: packageLir{
publicclass AD implements IALL,IDLL{
public function clone1():String {
return "clone1";
}
public function clone2():String {
return "clone2";
}
} }
应用:
package com{
importflash.display.Sprite;
public class testclass extends Sprite {
public function testclass():void {
var ftt1:IALL = new AD();//看这行
var ftt2:ICLL = new AD();//再看这行
trace(ftt1.clone1()); trace(ftt2.clone2());
} } }
这是个简单的应用。所以还没有显现出优势来,你的心理或许觉得:还不如用类简单呢!假设在大型游戏制作中。程序猿的体验可就不同了。
5.接口是自己定义数据类型。
一个类实现了一个接口的话。除了它自身的类型外。还多一个身份:接口定义的类型。这样一来。好多本不相关的类就可能通过一个接口相关起来。就像很多孤儿。被一个伟大的父亲收养了,孤儿有了共同的父亲。就能够交流交往、相亲相爱了。
样例:
全部“继承”了IAll接口的“子类”如myTxt、myMc、myShape„„都能够这样声明: varmytxt:IAll=new myTxt()
varmymc:IAll=new myMc()
varmyshape:IAll=new myShape() „„
当我们要从舞台上移除全部的属于IAll的可视化元件时,
仅仅须要 If(实例 is IAll){this.removeChild(实例)}
再理解 as3.0接口的更多相关文章
- as3.0 interface接口使用方法
[转]as3.0 interface接口使用方法 AS在2.0的时候就支持接口了 接口能够让你的程序更具扩展性和灵活性,打个例如 比方你定义了一个方法 代码: public function aMet ...
- Java&&As3.0 中的final 关键字
Java和AS3.0关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. 可以修饰的对象: fin ...
- “AS3.0高级动画编程”学习:第一章高级碰撞检测
AdvancED ActionScript 3.0 Animation 是Keith Peters大师继"Make Things Move"之后的又一力作,网上已经有中文翻译版本了 ...
- “AS3.0高级动画编程”学习:第二章转向行为(上)
因为这一章的内容基本上都是涉及向量的,先来一个2D向量类:Vector2D.as (再次强烈建议不熟悉向量运算的童鞋,先回去恶补一下高等数学-07章空间解释几何与向量代数.pdf) 原作者:菩提树下的 ...
- “AS3.0高级动画编程”学习:第三章等角投影(上)
什么是等角投影(isometric)? 原作者:菩提树下的杨过出处:http://yjmyzz.cnblogs.com 刚接触这个概念时,我也很茫然,百度+google了N天后,找到了一些文章: [转 ...
- As3.0 类的【枚举】
As3.0 类的枚举 “枚举”是您创建的一些自定义数据类型,用于封装一小组值.ActionScript 3.0 并不支持具体的枚举工具,这与 C++ 使用 enum 关键字或 Java 使用 En ...
- 程序员的自我救赎---3.1:理解Oauth2.0
<前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...
- “AS3.0高级动画编程”学习:第二章转向行为(下)
在上一篇里,我们学习了“自主角色”的一些基本行为:寻找(seek).避开(flee).到达(arrive).追捕(pursue).躲避(evade).漫游(wander).这一篇将继续学习其它更复杂, ...
- “AS3.0高级动画编程”学习:第四章 寻路(AStar/A星/A*)算法 (下)
在前一部分的最后,我们给出了一个寻路的示例,在大多数情况下,运行还算良好,但是有一个小问题,如下图: 很明显,障碍物已经把路堵死了,但是小球仍然穿过对角线跑了出来! 问题在哪里:我们先回顾一下ASta ...
随机推荐
- mysql语法语句
将一个字段中的timestamp修改成可视化时间 update table set f1 = IF( LOCATE('-',f1)>0, f1, IFNULL(FROM_UNIXTIME(f1/ ...
- Ubuntu 16.04使用“从互联网自动获取”时间无法写入硬件BIOS的奇怪问题
目前发现的就是这个问题,只能手动同步到BIOS. 如果是手动设置过时间,那么可以正常同步到BIOS. 而如果切换到从互联网自动获取时间时,是不能同步到BIOS的,但是界面上的时间确实最新的. 并且这个 ...
- IMAP IDLE模式(推送邮件)
在电子邮件技术中,IDLE是RFC 2177中描述的一项IMAP功能,它允许客户端向服务器表明它已准备好接受实时通知. Internet消息访问协议IMAP4协议,它要求客户端轮询服务器来更改所选中的 ...
- homebrew代理设置
方法一 brew用curl下载,所以给curl挂上socks5的代理即可. 在~/.curlrc文件中输入代理地址即可. socks5 = "127.0.0.1:1080" 方法二 ...
- 小白学react之网页获取微信用户信息
通过上一篇<小白学react之EJS模版实战>我们学习了怎样通过EJS模版生成我们高定制化的index.html文件. 本篇我们将会继续延续我们的alt-tutorial项目的实战计划.去 ...
- 转: 初识Agile/CMMI/Scrum
转:http://www.cnblogs.com/maxwell/p/5093917.html 一.背景介绍 在朋友(aehyok)的建议下,初步去了解Visual Studio Online,简称V ...
- [Algorithms] Solve Complex Problems in JavaScript with Dynamic Programming
Every dynamic programming algorithm starts with a grid. It entails solving subproblems and builds up ...
- java学习笔记——大数据操作类
java.math包中提供了两个大数字操作类:BigInteger(大整数操作类) BigDecimal(大小数操作类). 大整数操作类:BigInteger BigInteger类构造方法:publ ...
- Eclipse对于多个Java项目的支持并不友好!
本文吐槽! 如果我们创建两个Java项目.一个叫StatsReader.把数据从网上下载到本地数据库里.一个叫StatsViewer.把数据从数据库里拿出来呈现给用户.这两个项目都要用同一个外部类库m ...
- 【Excle数据透视表】如何得到数据透视表中某个汇总行的明细数据
例如: 现在想得到"北京 汇总"的明细数据,该怎么处理呢? 步骤 右键数据透视表任意单元格→数据透视表选项→启用显示明细数据→确定→单击"北京 汇总"行最后一个 ...