as3.0 interface接口使用方法

[转]as3.0 interface接口使用方法

AS在2.0的时候就支持接口了

接口能够让你的程序更具扩展性和灵活性,打个例如

比方你定义了一个方法

代码:

public function aMethod(arg:MyClass):void { .....}

參数 arg 的类型必须是 MyClass,由于我们须要在该方法中使用MyClass的API

而MyClass是一个类的话,你传入的对象必须是MyClass类的实例或者是MyClass子类的对象,可是当你要传入的一个对象,他既不是MyClass类的实例也不是MyClass子类的对象,而是一个已经继承了其它类的对象呢,这样就难办了。 由于AS和Java一样,都不同意多重继承,多重继承会带来使类结构变的复杂难以管理的麻烦。

这时候接口就能派上用场了。

代码:public function aMethod(arg:MyInterface):void { .....}

这时候我们传入的对象他仅仅要是实现了MyInterface,都能够,不管是继承了什么详细类,并且一个类能够实现多个接口,这样就攻克了不同意多重继承的问题。

以上仅仅是我个人举的一个小小样例,我的认识可能还非常浅显,详细大家还是要多看oo方面的资料,网上有非常多,多用Google吧

注意:

1、在接口中定义了几个方法,实现时就得实现几个方法,方法名称、參数个数、參数值、返回值等都得一样。

样例:

1、定义接口。

package {

public interface IExample {

function TestFunc(param:String):String;

function TestFunc_1(param:Number,param_1:Number):Number;

}

}

2、实现接口。

package {

public class TestInterface implements IExample {

public function TestInterface() {

}

public function TestFunc(param:String):String {

return param;

}

public function TestFunc_1(param:Number,param_1:Number):Number {

return param;

}

}

}

package {

public class TestInterface_1 implements IExample {

public function TestInterface_1() {

}

public function TestFunc(param:String):String {

return param;

}

public function TestFunc_1(param:Number,param_1:Number):Number {

return param+param_1;

}

}

}

3、使用接口类:

package {

import flash.display.Sprite;

public class InterfaceExample extends Sprite

{

private var MyNumber:Number=20;

private var MyTestInterface,MyTestInterface_1:IExample;

public function InterfaceExample()

{

MyTestInterface=new TestInterface();

trace(MyTestInterface.TestFunc("Hi..Hi"));        //output:Hi..Hi

trace(MyTestInterface.TestFunc_1(MyNumber,MyNumber+1));   //output:20

MyTestInterface_1=new TestInterface_1();

trace(MyTestInterface_1.TestFunc("ho..Hi"));     //output:ho..Hi

trace(MyTestInterface_1.TestFunc_1(MyNumber,MyNumber+1));   //output:41

}

}

}

as3.0 interface接口使用方法

时间: 2024-10-12 03:08:13

as3.0 interface接口使用方法的相关文章

As3.0 Interface 与类的使用

来源:http://blog.sina.com.cn/s/blog_4d65c19e0100bfkb.html 抽象类:又叫抽象基类:可以包含一般类所包含的所有特性,例如,字段,属性,方法,抽象类不能被实例化他主要用在类的定义和部分实现这方面,所以他需要在扩充类中完整的扩充并实现功能.另外抽象类还包含一个很特殊的方法,叫抽象方法(这些方法基本上是没有执行代码的函数,由继承于该类的类重写(override)并提供具体实现).在Java和C#中,有abstract关键字来定义抽象类,而在As3中,并

Java 8 - Interface Default Method接口默认方法

Java 8 相比于Java 7 推出了几大特色(features)(接口默认方法)default methods in interface, (接口静态方法)static method in interface, 函数编程(functional programming), lamda expression, stream API. 这里首先介绍以下默认接口方法 1.什么是默认接口方法 java 8 允许在接口定义并编写实现方法.例子: interface Collection{ void ad

XMLHttpRequest 2.0与FileReader接口的方法

有: DOMString.Document.FormData.Blob.File.ArrayBuffer 看张大神的博客吧.http://www.zhangxinxu.com/wordpress/2013/10/understand-domstring-document-formdata-blob-file-arraybuffer/ 其中的FileReader接口做一些准备: 1.FileReader接口的方法 FileReader接口有4个方法,其中3个用来读取文件,另一个用来中断读取.无论读

Java的接口(interface)属性和方法的类型

接口的属性必须是public static final Type 接口的方法必须是public abstract Type 不管你是全写,或只写部分,系统都会自动按上面的要求不全 也就是说 接口中 所有的属性 都是 只能是 静态的常量              接口中 所有的方法都是 只能是 抽象方法

C# Interface的使用方法探讨

接口是把公共实例(非静态)的方法和属性结合起来,以封装特定功能的一个集合,一旦定义了接口,就可以在类中使用实现接口中的所有成员,接口可以看作创建者和使用者之间的契约,一旦实现了接口,就不要轻易变动(如果需要变更接口,一般需要继承旧接口并且添加版本号).我们知道在C++里面是有纯虚函数,虚继承和多重继承的,C#里面为了简化C++的这些复杂的设施,引出了接口这个概念. C#接口和类的区别: 1. 不允许使用访问修饰符(public, private, protected,或者internal)修饰接

Java知多少(39)interface接口

在抽象类中,可以包含一个或多个抽象方法:但在接口(interface)中,所有的方法必须都是抽象的,不能有方法体,它比抽象类更加“抽象”. 接口使用 interface 关键字来声明,可以看做是一种特殊的抽象类,可以指定一个类必须做什么,而不是规定它如何去做. 现实中也有很多接口的实例,比如说串口电脑硬盘,Serial ATA委员会指定了Serial ATA 2.0规范,这种规范就是接口.Serial ATA委员会不负责生产硬盘,只是指定通用的规范. 希捷.日立.三星等生产厂家会按照规范生产符合

Java基础学习笔记十二 类、抽象类、接口作为方法参数和返回值以及常用API

不同修饰符使用细节 常用来修饰类.方法.变量的修饰符 public 权限修饰符,公共访问, 类,方法,成员变量 protected 权限修饰符,受保护访问, 方法,成员变量 默认什么也不写 也是一种权限修饰符,默认访问, 类,方法,成员变量 private 权限修饰符,私有访问, 方法,成员变量 static 静态修饰符 方法,成员变量 final 最终修饰符 类,方法,成员变量,局部变量 abstract 抽象修饰符 类 ,方法 我们编写程序时,权限修饰符一般放于所有修饰符之前,不同的权限修饰

12函数式接口、方法引用

12.1  函数式接口 12.1.1 概念 1.函数式接口在Java中是指:有且仅有一个抽象方法的接口. 2.函数式接口,即适用于函数式编程场景的接口,而Java中的函数式编程体现就是Lambda,所有函数式接口就是可以适用于Lamnda使用的接口,只有确保接口中有且仅有一个抽象方法,java中的Lambda才能顺利地进行推导. 3.语法糖的定义:是指使用更加方便,但是原理不变的代码语法,例如在遍历集合时使用的for-each语法,其实底层的实现原理 仍然是迭代器,这就是语法糖,从应用层讲, j

009-jdk1.8版本新特性一-展方法,Lambda表达式,函数式接口、方法引用构造引用

一.JDK1.8 名称:Spider(蜘蛛) 发布日期:2014-03-18 新特性: 1.1.扩展方法[接口的默认方法] Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法. 在Java中只有单继承,如果要让一个类赋予新的特性,通常是使用接口来实现,在C++中支持多继承,允许一个子类同时具有多个父类的接口与功能,在其他语言中,让一个类同时具有其他的可复用代码的方法叫做mixin.新的Java 8 的这个特新在编译器实现的角度上来说更