接口的意义
类描述的是一个实体,包含试题的状态和动作。一个实体能发出的动作由接口来定义。那么在类中对一个接口来定义,从本质上讲,跟在抽象类中定义一个接口一样,也体现着他的抽象性,即它是可以变化的。从面向对象的思想来看,要封装好变化的部分。这可能涉及到的涉及模式:模板涉及模式/命令涉及模式,在util类里封装了会改变的Worker,可以理解为,util里面有自己的算法:一部分是固定的,而另一部分是可变的,这个可变的部分就变成了了一个接口,接口则是特殊的抽象类,worker可能在不同的工作环境有不同的工作方式,如work(),onvaction()等等。
因此在类中定义一个接口是有必要性的,它代表着一种编程思想,定义接口的目的是让代码有更强的可扩展性。
接口的特点
1.定义接口的重要性:在java中 abstrack 和interface是支持抽象类定义的两种机制。正是由于这两种机制的存在,才使得java成为面向对象的编程语言。
2.定义接口有利于定义代码规范,对于一个大型的项目而言,架构师往往会对一些主要的接口来进行定义,或者清理一些没有必要的接口,这样做的目的一方面是为了给开发人员一个清晰的指示,告诉他们哪些业务需要实现;同时也能防止由于开发人员随意命名而导致的命名不清晰和代码混乱,影响效率。
3.有利于对代码进行维护:比如要做一个画板程序,其中里面有一个面板类,主要负责绘画功能,然后你就这样定义了这个类。可以不久,突然发现现有的类不能满足需要,然后你又要重新设计这个类,更糟糕的是你可能要放弃这个类,那么其他地方有可能引用他,这样修改起来很麻烦,如果你一开始定义一个接口,把绘制功能放在接口里,然后定义时实现这个接口,然后你只要用这个接口去引用实现它的类就行了,以后要更换的话只不过是引用另一个类而已,这样就达到了维护,拓展的方便性。
4.保证代码的安全性和严密性:一个好的程序一定符合高内聚低耦合的特征,那么实现低耦合,定义接口是一个很好的方法,能够让系统的功能更好的实现,而不涉及任何具体的实现细节,这样就比较安全,严密一些,这一思想一般在软件开发中较为常见。