黑马程序员技术交流社区

标题: 接口的作用问题 [打印本页]

作者: 炉海佳    时间: 2013-2-13 11:24
标题: 接口的作用问题
本帖最后由 炉海佳 于 2013-2-13 20:26 编辑

我们知道接口类必须实现并复写功能才可以用,既然必须要复写那接口类就感觉有点多于了,好像不要接口类直接在需要的类中定义功能函数更简单一些,免得还要写个接口类还要去实现它,虽然知道自己理解的不对,就是没想明白,希望高人指点一下,先谢了
作者: 逍林游    时间: 2013-2-13 11:31
利用接口类编程可以实现多态,从而提高代码的重用性以及运行效率!
作者: 王亚东    时间: 2013-2-13 12:10
比如说公司是一个接口,有一个招聘的方法,而各种公司去实现这个接口进而重写招聘的方法,那么不同的公司招聘不同的员工,那么公司只要用不同的实现方式就可以了,没必要自定义方法,甚至类。
作者: 王昕    时间: 2013-2-13 12:11
就是为了多态。本来直接用父类方法的情况也不多,很多也要重写。
作者: 炉海佳    时间: 2013-2-13 12:43
我这么问吧!把一个已经写好的程序代码,我把接口类删去,同时都不实现这个接口了,应该不会影响程序的运行吧,因为其他类都已经复写接口了功能不会少,所以就感觉接口有点多于只是为了方便阅读
作者: 杨玲    时间: 2013-2-13 12:54
呵呵,你知道的,如果是类(不管是普通类还是抽象类),它们都只支持单继承模式,而接口不在这个限制内,它可以多实现,它主要就是为了解决JAVA的这个局限性而存在的
作者: 许鑫星    时间: 2013-2-13 13:41
其实我觉得接口就是定义了一种规则,实现这个接口的类必须满足它定义的规则完成对应功能,但是由于每个类在处理规则时可以用不同的方式,所以将这些必要的方法提取出来形成接口。
作者: 朱玉玺    时间: 2013-2-13 14:51
接口的主要功能有二:其一,是定义一种规则,例如,开发时,我需要调用你的类,如果不用接口,你的类没写完,我就不能开始,如果定义了接口,虽然你还没写完自己的类,我可以把你的类用接口代替,调用你定义的功能,然后你去实现接口,我同时开始下一步的编程,它就像一个管箍,连接两个管子(一根是实现了接口的类,一根是调用接口的类),实现了模块式开发,减少了程序模块之间的耦合;其二,功能扩展,一个类可以在继承一个类的同时实现多个接口,但是一个类能继承多个类吗?
作者: 朱玉玺    时间: 2013-2-13 14:53
炉海佳 发表于 2013-2-13 12:43
我这么问吧!把一个已经写好的程序代码,我把接口类删去,同时都不实现这个接口了,应该不会影响程序的运行 ...

那你程序的扩展性就很差,后期升级维护很麻烦
作者: 李洪因    时间: 2013-2-13 15:10
JAVA 不支持多继承关系,为了弥补 所以引进了接口的概念 他的做用让几个类继承一个借口,引用接口是传送的参数不同 调用的方法就不同
接口的最大作用是用来划分类的类别.比如A,B2个类都实现了同一个C接口,我们就可以说A和B都是一个类别的类.
作者: 炉海佳    时间: 2013-2-13 15:47
朱玉玺 发表于 2013-2-13 14:51
接口的主要功能有二:其一,是定义一种规则,例如,开发时,我需要调用你的类,如果不用接口,你的类没写完 ...

你举的例子就是我要的答案,谢谢了
作者: 陈圳    时间: 2013-2-13 16:08
其实毕老师说的面向对是一种思想,而思想是通用的,我可以给你举一个具体的例子,一个小公司,没有哪一个部门,公司照样可以运行,比如人事,人资.但是他走的是朝大公司发展的路,而人事人资等就是一个接口,你朝大公司去发展,就必须要实现这个接口,而接口的作用是扩展.扩展公司的功能.如果没有,小程序可以运行,但大公司是一定必须有这个功能,没有人事,公司运行不了.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2