接口:
- 接口是提供了一种用以说明一个对象应该具有哪些方法的手段。
- 接口是面向对象js程序员的工具箱中最有用的工具之一,但是js中没有内置的创建或实现接口的方法。也没有内置的方法可以用于判断一个对象是否实现了与另一个对象相同的一套方法,这使得对象很难互换使用。
- 利用js的灵活性,实现接口模仿。
利:
- 既定的一批接口具有自我描述性,并能促进代码的重用。
- 接口还有助于稳定不同类之间的通讯方式。
- 有利于测试和调试,提高代码的稳定性。
弊:
- 由于js是弱类型语言,但是接口的使用又在一定程度上强化了类型的作用,这将降低语言的灵活性
- js没有提供接口的内置支持,所以模仿接口会有一些的风险
- 性能开销影响
js实现接口的三种方式
1、注释法(不推荐)
最简单的方法,也是效果最差的,这种方法主要模仿其他面向对象语言中的做法,使用 interface 和 implements 关键字 ,但把他们放到注释中,以免引起语法错误,其实这种实现方法说实话就是靠开发人员的自觉性,属于程序文档范畴。
优点:这很容易实现,不需要其他的类或方法,不会增加代码的size,不会影响代码的执行速度
缺点:使用该类的实例时,没有方法可以检查类的接口是否定义正确,当有错误的时候也没有错误抛出,不利于调试
旧语法:
//使用注释先给用户看,这个类里有几个方法,其实这就是个展示的作用并没有多大用处
//js中并没有这种内置的方法,模仿其他面向对象开发中的写法,给后面需要接锅的人传递信息而已
/*
interface Composite{
function add(child);
function remove(child);
}
*/
//定义构造函数,注释说明实现的是哪些接口
// implements Composite
var CompositeForm&