再理解 as3.0接口

来源:互联网 发布:嵌入式linux驱动教程 编辑:程序博客网 时间:2024/06/01 09:33

As3.0 接口的理解与运用  

1.把接口当作来理解,你容易接受她。 我们看她的标准结构: 

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接口的子类myTxtmyMcmyShape„„都可以这样声明: varmytxt:IAll=new myTxt() 

varmymc:IAll=new myMc()  

varmyshape:IAll=new myShape() „„  

 当我们要从舞台上移除所有的属于IAll的可视化元件时,

只需要 If(实例 is IAll)this.removeChild(实例)} 

0 0