黑马程序员技术交流社区

标题: 接口和抽象类有什么区别和作用? [打印本页]

作者: rehan    时间: 2015-2-15 21:45
标题: 接口和抽象类有什么区别和作用?
RT:接口和抽象类有什么区别和作用?

作者: 小马初长成    时间: 2015-2-15 22:54
1.抽象类和接口的区别在于使用动机。使用抽象类是为了代码的复用,而使用接口的动机是为了实现多态性。
2.抽象类和它的子类之间应该是一般和特殊的关系,而接口仅仅是它的子类应该实现的一组规则。(有时也可能存在一般和特殊的关系,但我们使用接口的目的不在这里)
作者: xyf19881010    时间: 2015-2-16 00:21
接口是为了扩展功能而来的。例如,狗和猫都有吃这个功能。所以我们在设计的时候就可以把吃抽取出来为一个接口,然后让猫类,狗类分别实现这个接口,实现不同的吃的具体功能。而抽象类是对多种类型共性的抽取。例如狗和猫两个类型就都是动物类型,狗和猫都有叫的动作,都有毛的属性,但是具体的叫和毛不相同,此时就可以把叫的动作和毛的属性提取出来变成一个抽象类,里面有抽象方法”叫”,有成员变量”毛”,然后猫类继承动物类时就实现具体的叫法和特定的毛的属性,狗类也类似。这就是抽象类的功能:抽取出一组类的内在共有特性成为一个抽象类,然后具体一个类定义时再继承抽象类来具体化共有属性
作者: linuxpara910829    时间: 2015-2-16 01:18
接口是特殊的抽象类,接口中只有抽象方法。接口可以被实现,提高程序的扩展性
抽象类,接口中有部分是抽象方法。抽象类可以被继承,但子类必须覆写所有的抽象方法否则子类也要定义成抽象类。
作者: 邓士林    时间: 2015-2-16 08:13
说的都挺好




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