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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在学习继承关系和接口实现的时候,老师一直说继承是is关系,接口是like关系,我们很多人都不管这个,所以导致对这两个关系理解不透彻,其实这两个词很有意思,继承是is关系,我们可以理解为是,比如说,我们可以认为猫是动物,狗是动物,所以猫和狗都是继承于动物,就不能是实现。like可以理解为像,在面对实际的接口,他们可能是完全不相关的,是抽象出来的,所以我们只能说像,不能说是。再进一步讲,在面对两个名词的问题的时候,我们都是说是,而不是像,所以名词问题都是继承,面对动作问题我们都是说像,所以动词动作问题就是实现。虽然很多情况下是可以通用的,但是如果区分了名词动词,我们可以让逻辑更清晰,代码更易懂。个人见解,仅供参考!延伸一点,其实很多java资料的文字信息都是前人经过总结得出的,其中很多字表达的都很准确,细细品味都会让你的思想更清晰。

3 个回复

倒序浏览
继承实现有时候是可以互换的,也就是有时候都能使用,但可能有些时候用继承不如用实现,但楼主那样的理解能够从字面想到逻辑上,还是很受用,也是很好的办法,尤其最后的总结,真的是我们有时候注重学习了规则,忽略了这个单词的本意,可能不能理解的更深刻。
楼主威武,希望以后大家可以交流学习,共同进步
回复 使用道具 举报
继承是抽象类,实现的是接口,继承和实现的区别其实就是抽象类和接口的区别
接口和抽象类设计思想上的区别:
1,        接口作为系统与外界交互的窗口,接口体现的是一种规范,接口是多个程序之间的通信标准。
2,        抽象类作为系统中多个子类的共同父类,它所体现的是一种模板式设计。是系统实现过程中的中间产品,这个中间产品已经实现了系统的部分功能(那些已经提供实现的方法)。

点评

你这明显是百度的吧 ,呵呵 我不是有疑惑,你说的我懂,我是分享一下自己的见解。  发表于 2013-3-15 23:08
回复 使用道具 举报
wwd867551927 发表于 2013-3-15 23:05
继承是抽象类,实现的是接口,继承和实现的区别其实就是抽象类和接口的区别
接口和抽象类设计思想上的区别 ...

不是百度的,是在书上看的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马