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(实例)}