黑马程序员技术交流社区

标题: 使用抽象类和接口的好处? [打印本页]

作者: 袁园    时间: 2012-11-30 19:03
标题: 使用抽象类和接口的好处?
在继承抽象类和实现接口时都要重新复写一遍抽象类和接口中的方法  为什么还要用抽象类和接口呢?直接在子类中写上各种方法不行吗

作者: 李有    时间: 2012-11-30 19:05
抽象类 以及 接口中的方法是没有被实现的, 他们只是定义了一下应该实现的功能,具体的实现交由实现类去完成。

定义与事先进行分离可以降低程序间的耦合。
以 接口或抽象方法为分界,我们可以把编写的这一套代码分为前后两部分。在实际项目中,这两部分可能不是由一个人完成的,如果实现定义好接口,面向接口,完成前面程序的人不必等后半部程序就可以工作了……另外对于一个功能的实现可能有不同的方法,如果直接使用类来完成,那未来维护更新功能时将在源程序内进行大量修改。
记得看那个视频中说过:接口比方是定义的一种显卡规范,不同的厂商照着这个规范去开发显卡,那么只要我的电脑能够使用符合规范的显卡,就可以很方便的对显卡进行更换
作者: 杨伟斌    时间: 2012-11-30 19:11
我听别人的哈:抽象类定义的是一个类应该具有的基本的功能,而接口则是在定义一个类额外功能。比如一个学生类:基本功能是学习,这个应该用抽象类去定义;而有些学生会抽烟,这就不能被定义为抽象类,因为抽烟的这一功能毕竟是有些学生的,应该定义为接口。
作者: 王舒玮    时间: 2012-11-30 22:31
接口:解决了java中只能单继承的问题。(对多继承进行了优化)
         A:类与类:只能是单继承。
      B:接口与接口:可以是单继承,也可以是多继承。
      C:类与接口:可以是单实现,也可以是多实现。
作者: 何伟    时间: 2012-12-1 17:02
这是为了方便复用。和功能扩展,
比如;你要描述动物,动物有 猫  狗   猪,  这些动物都具有有吃和睡觉的属性,睡觉的方法是一样的,但是每个动物吃的东西都不一样,所以吃这个方法就是未知的,那么这些未知的就可以定义成抽象了,你在调用的时候直接重写,简单点说就是有未知的方法就定义抽象。接口是用来扩展功能的,只要符合接口的规范就可以用,这样就减少了函数的偶合性




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