再理解 as3.0接口

时间:2023-03-09 04:56:12
再理解 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(实例)}