说说 Java 类继承中的 is-a 关系以及 is-like-a 关系

纯粹的继承关系是派生类只覆盖基类的方法。这种基类和派生类的关系称为 is-a 关系。比如 “笔记本是电脑”。

有时候,我们会在派生类中实现新的接口,用于扩展派生类。虽然新的派生类仍然可以替代基类,但基类无法访问派生类中新实现的方法。这种关系称为 is-like-a 关系,即这个派生类像基类,但并不完全是。

比如说,笔记本电脑具有“计算”功能,所以它可以从“计算机”基类中派生出来。而手机也具有“计算”功能,所以也是派生于“计算机”基类。但手机还有“通讯”功能,原有的“计算机”基类没有包含这一设计。这时,我们需要新建一个通讯接口,让“手机”派生类实现这一接口。这样,这个“手机”派生类与计算机基类就是 is-like-a 关系啦O(∩_∩)O哈哈~


这也说明了原来的基类不够一般化,应该改为智能系统,包含“计算”与“通讯”等功能。这也是在现实世界经常会遇到的情况。通过不断优化设计,让模型更符合现实世界。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 我已经记不起上一次提起笔或者打开电脑认真的写点东西是什么时候了,其实打初中开始就一直有写东西的习惯,记得那个...
    奶茶小芥阅读 1,567评论 0 0
  • 今天是来大三班的第三天,已经深深被这一群萌娃萌化了。在课堂中,他们积极配合;在区域中,他们充分发挥自己的想象力;在...
    相知相玉阅读 3,856评论 0 1
  • 【前言】昨天咱们一起讨论了宝宝头发的生长特点,及稀少的四大成因。今天咱们接着这个话题~~ 虽然大部分的宝宝头发稀少...
    蛮小子阅读 3,919评论 0 0
  • 带着星光的夜色,神秘,总也琢磨不透。看得久了,心境被涂染得繁复纷杂。周围好静,突然间,一些话冲破了夜色。瞬间,甜蜜...
    溪流娟娟阅读 1,310评论 1 1
  • 给班级建一个档案表,包括以下信息: 姓名、年龄、email、手机号、简介、毕业薪水、入学日期 姓名:char(3)...
    A梦啊阅读 1,517评论 0 0

友情链接更多精彩内容