A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© rehan 中级黑马   /  2015-2-15 21:45  /  1071 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

RT:接口和抽象类有什么区别和作用?

4 个回复

倒序浏览
1.抽象类和接口的区别在于使用动机。使用抽象类是为了代码的复用,而使用接口的动机是为了实现多态性。
2.抽象类和它的子类之间应该是一般和特殊的关系,而接口仅仅是它的子类应该实现的一组规则。(有时也可能存在一般和特殊的关系,但我们使用接口的目的不在这里)
回复 使用道具 举报
xyf19881010 来自手机 中级黑马 2015-2-16 00:21:02
藤椅
接口是为了扩展功能而来的。例如,狗和猫都有吃这个功能。所以我们在设计的时候就可以把吃抽取出来为一个接口,然后让猫类,狗类分别实现这个接口,实现不同的吃的具体功能。而抽象类是对多种类型共性的抽取。例如狗和猫两个类型就都是动物类型,狗和猫都有叫的动作,都有毛的属性,但是具体的叫和毛不相同,此时就可以把叫的动作和毛的属性提取出来变成一个抽象类,里面有抽象方法”叫”,有成员变量”毛”,然后猫类继承动物类时就实现具体的叫法和特定的毛的属性,狗类也类似。这就是抽象类的功能:抽取出一组类的内在共有特性成为一个抽象类,然后具体一个类定义时再继承抽象类来具体化共有属性
回复 使用道具 举报
接口是特殊的抽象类,接口中只有抽象方法。接口可以被实现,提高程序的扩展性
抽象类,接口中有部分是抽象方法。抽象类可以被继承,但子类必须覆写所有的抽象方法否则子类也要定义成抽象类。
回复 使用道具 举报
说的都挺好
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马