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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 宋大人-专注 中级黑马   /  2014-5-27 09:00  /  1480 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 宋大人-专注 于 2014-6-2 22:21 编辑

学了一般类,抽象类和接口,现在感觉很头疼,如果一个类要继承另一个,什么情况下把父类定义为抽象类或者是一般类,还有抽象类和接口都有抽象方法,如果一个类继承了一个抽象类有实现了一个接口,那么抽象类中的抽象方法和接口中的方法怎么区别,也就是什么情况下定义在抽象类中,什么情况下定义在接口中

3 个回复

倒序浏览
我不是大神,但是我觉得这个问题属于经验之谈,如果你对面相对象和面相接口编程理解的很透彻这些问题也就不算问题了。抽象类和接口的区别就在于,前者是类至少得有一个抽象方法,支持单继承,后者为接口,全部为抽象方法,且可多继承。有了他们的存在可提高程序的扩展性和维护性。
回复 使用道具 举报
LZ还有一个叫做枚举的东西。。。。
回复 使用道具 举报
本帖最后由 侯金龙 于 2014-5-27 17:52 编辑

属于体系内的方法要定义在父类中,如果子类需要对方法有不同实现,就把方法抽象
属于体系的扩展内容定义在接口中,接口主要是功能的扩展。
不如一台电脑,升级时,升级的是系统硬件什么的,这些都是系统内的,升级前的父类要有,升级后的子类也要有,系统,硬件就属于定义在父类中的方法
如果那天你想打印电脑中的东西了,就要连台打印机,这就属于功能扩展,但连接打印机电脑上要有接口,而且电脑上接口还可以连接别的(原理是,电脑调用了接口,扩展功能实现接口属于接口的子类,这是多态)所以所有的扩展都要遵循规则,接口中的方法就是规则
你多看看视频中的例子你会明白的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马