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接口的更多相关文章

  1. as3.0 interface接口使用方法

    [转]as3.0 interface接口使用方法 AS在2.0的时候就支持接口了 接口能够让你的程序更具扩展性和灵活性,打个例如 比方你定义了一个方法 代码: public function aMet ...

  2. Java&&As3.0 中的final 关键字

    Java和AS3.0关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率.   可以修饰的对象:   fin ...

  3. “AS3.0高级动画编程”学习:第一章高级碰撞检测

    AdvancED ActionScript 3.0 Animation 是Keith Peters大师继"Make Things Move"之后的又一力作,网上已经有中文翻译版本了 ...

  4. “AS3.0高级动画编程”学习:第二章转向行为(上)

    因为这一章的内容基本上都是涉及向量的,先来一个2D向量类:Vector2D.as (再次强烈建议不熟悉向量运算的童鞋,先回去恶补一下高等数学-07章空间解释几何与向量代数.pdf) 原作者:菩提树下的 ...

  5. “AS3.0高级动画编程”学习:第三章等角投影(上)

    什么是等角投影(isometric)? 原作者:菩提树下的杨过出处:http://yjmyzz.cnblogs.com 刚接触这个概念时,我也很茫然,百度+google了N天后,找到了一些文章: [转 ...

  6. As3.0 类的【枚举】

    As3.0 类的枚举   “枚举”是您创建的一些自定义数据类型,用于封装一小组值.ActionScript 3.0 并不支持具体的枚举工具,这与 C++ 使用 enum 关键字或 Java 使用 En ...

  7. 程序员的自我救赎---3.1:理解Oauth2.0

    <前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...

  8. “AS3.0高级动画编程”学习:第二章转向行为(下)

    在上一篇里,我们学习了“自主角色”的一些基本行为:寻找(seek).避开(flee).到达(arrive).追捕(pursue).躲避(evade).漫游(wander).这一篇将继续学习其它更复杂, ...

  9. “AS3.0高级动画编程”学习:第四章 寻路(AStar/A星/A*)算法 (下)

    在前一部分的最后,我们给出了一个寻路的示例,在大多数情况下,运行还算良好,但是有一个小问题,如下图: 很明显,障碍物已经把路堵死了,但是小球仍然穿过对角线跑了出来! 问题在哪里:我们先回顾一下ASta ...

随机推荐

  1. WPF程序中的弱事件模式

    在C#中,得益于强大的GC机制,使得我们开发程序变得非常简单,很多时候我们只需要管使用,而并不需要关心什么时候释放资源.但是,GC有的时并不是按照我们所期望的方式工作. 例如,我想实现一个在窗口的标题 ...

  2. NAND Flash Bad Block Table

    转:http://wiki.laptop.org/go/NAND_Flash_Bad_Block_Table 1 OLPC NAND Bad Block Management 1.1 Introduc ...

  3. hdu2846 Repository

    //--------------------------------------------------------------- /*---字典树应用问题.考虑到要查询的次数在10^6,显然直接插入 ...

  4. ubuntu 安装 regex模块时 fatal error: Python.h: No such file or directory

    原因是 python-dev包没有安装 根据Py2还是py3 sudo apt-get install python-dev 或者 sudo apt-get install python3-dev 安 ...

  5. 级联关系(内容大部分来自JavaEE轻量型解决方案其余的是我的想法)

    1. 级联关系 在Hibernate程序中持久化的对象之间会通过关联关系互相引用.对象进行保存.更新和删除等操作时,有时需要被关联的对象也执行相应的操作,如:假设需要关联关系的主动方对象执行操作时,被 ...

  6. POJ 2983-Is the Information Reliable?(差分约束系统)

    题目地址:POJ 2983 题意:有N个车站.给出一些点的精确信息和模糊信息.精确信息给出两点的位置和距离.模糊信息给出两点的位置.但距离大于等于一.试确定是否全部的信息满足条件. 思路:事实上就是让 ...

  7. nginx静态资源配置

    解决EE工程中静态文件显示问题 在工程中本地测试没有问题,发现使用nginx配置了路径的页面,会获取不到相应页面的静态文件问题 静态文件的路径类似为: http://localhost:8080/sa ...

  8. golang sync.Cond 类

    众所周知,go语言在多线程方面的支持是十分完备的.在go语言sync包中提供了一个Cond类,这个类用于goroutine之间进行协作. 这个类并不复杂,只有三个函数,Broadcast() , Si ...

  9. 修改MySQL数据库存储位置datadir

    2017-04-14 1.找到mysql安装目录,默认是C:/ProgramData/MySQL/MySQL Server 5.1,找到my.ini.如果这个文件没有,自己建一个my.ini. 2.假 ...

  10. 2017.4.18 静态代码分析工具sonarqube+sonar-runner的安装配置及使用

    配置成功后的代码分析页面: 可以看到对复杂度.语法使用.重复度等等都做了分析,具体到了每一个方法和每一句代码. 四种使用方式: sonarqube + sonar-runner sonarqube + ...