is-a 是一个(种族)
has-a 有一个(内含)a
举例说明:
如果你确定两件对象之间是is-a的关系,那么此时你应该使用继承;比如菱形、圆形、三角形和方形都是形状的一种,那么他们都应该从形状类继承而不是聚合。
如果你确定两件对象之间是has-a的关系,那么此时你应该使用聚合;比如电脑是由显示器、CPU、硬盘等组成的,那么你应该把显示器、CPU、硬盘这些类聚合成电脑类,而不是从电脑类继承。
墨衍会员
·
AI 创作全网分发
墨衍智能分发
本文由作者通过墨衍一键同步至各平台
1分发平台
1.3k累计阅读
1.4k平均单平台
已同步平台
优快云
微信公众号
微博
知乎
掘金
百家号
博客园
抖音
小红书
你的文章也可以这样分发
墨衍会员 ¥399起/年,写一次发全网
我也要 →
码龄14年
is-a 是一个(种族)
has-a 有一个(内含)a
举例说明:
如果你确定两件对象之间是is-a的关系,那么此时你应该使用继承;比如菱形、圆形、三角形和方形都是形状的一种,那么他们都应该从形状类继承而不是聚合。
如果你确定两件对象之间是has-a的关系,那么此时你应该使用聚合;比如电脑是由显示器、CPU、硬盘等组成的,那么你应该把显示器、CPU、硬盘这些类聚合成电脑类,而不是从电脑类继承。
C++ Primer Plus 笔记
当前文章被以下社区和专栏收录:
深入理解面向对象编程中的IS-A和HAS-A关系
本文深入探讨了面向对象编程中的IS-A和HAS-A关系,并通过Java代码示例来说明继承和接口实现的多态性。文章解释了继承树的概念,以及如何通过继承和接口实现来设计灵活且可重用的类。同时,文章也提到了多态性的概念,并讨论了Java中单类继承的限制和接口中的默认方法如何允许某种形式的多重继承。
如何通俗的理解is-a,has-a,like-a以及use-a?
1.is-a关系:表示子类和父类之间的继承关系。比如一个Student类,继承了父类Person类,我们可以说一个学生就是一个人,也就是Student is a Per
安装Anaconda和Labelme的教程
1 登录Anaconda官网,选择Download https://www.anaconda.com/distribution/ 2 选择你想下载的Python版本,选择你的操作系统和位数,然后点击Download按钮就开始下载了 3 开始安装 下面两个框框都勾选 点击next,等待安装成功 打开Anaconda Navigator 点击红色圈圈的按钮 在cmd中输入 (1)创建虚拟环境 conda create -n labelme python=3.6 (2)激活虚拟环境 conda activa
"is a"关系和"has a"关系
假设有两个类:Computer和Employee。明显地,这两个类之间不存在"is a"的关系,即Employee不是计算机,它们之间没有继承关系的必要。因此不可能产生代码重用性。但这两个类之间是"has a"关系,即是支持的关系。例如,Employee"has a"Computer。明显地是一种支持关系。这种支持关系落实到代码中,就是在Employee中创建Computer的对象,调用其方法,到
Windows下Nginx发布DEM地形瓦片数据全流程(含Cesium调用避坑指南)
本文详细介绍了在Windows环境下使用Nginx发布DEM地形瓦片数据的完整流程,并提供了Cesium前端调用的详细配置与避坑指南。重点讲解了Nginx的核心配置、跨域问题解决以及CesiumTerrainProvider的关键参数设置,帮助开发者快速搭建本地地形服务,实现高效的三维地形可视化。
matlab相机标定_实战 | 相机标定
点击“计算机视觉life”关注,置顶更快接收消息!本文阅读时间约5分钟什么是相机标定?我们为什么需要相机标定?相机标定就是确定相机内参和外参的过程,其结果精度会直接影响视觉系统后续工作的准确性。坐标系相机标定涉及到了四大坐标系,分别为:像素坐标系图像物理坐标系相机坐标系世界坐标系为了进行相机标定,必须已知世界坐标系中足够多的三维空间点坐标,找到这些空间点在图像中投影点的二维图像坐标,并建...
Has-a与is-a的区别
Has-a与is-a的区别 Has-a全称class A has a kind of class B.意为A类是B类的一部分。Has-a主要考私有继承和组合来实现,通过私有继承的方式继承的话,基类的接口不会被派生类继承,组合同样也是这样。 Is-a全称class A is a kind of class B.意为A类是B类的一种具体情况。Is-a主要是通过公有继承实现的,最大化的保留了基类的外部接口,而且在基类的基础上进行了更加具体化的补充和发展。 Has-a和is-a在第一代继承时基类在派生类中的功
避坑指南:华为2288H-V5服务器安装系统时常见的RAID与驱动问题解决方案
本文针对华为2288H-V5服务器在安装系统时常见的RAID与驱动问题,提供了详细的避坑指南。文章深度解析了从BIOS版本兼容性核查、RAID配置实战到驱动加载与集成的全流程,重点解决了安装过程中因RAID控制器驱动缺失或兼容性问题导致的硬盘无法识别等典型故障,帮助用户高效完成系统部署。
[C++学习笔记] is-a继承关系——公有继承(part 1)
今天继续更新C++的学习笔记,这次涉及的主题是类继承。类继承总共有三种,分别是公有类继承(is-a关系,或者is-a-kind-of关系),私有继承以及保护继承。为了简便,这篇文章主要记录的公有继承(is-a关系),并补充了虚方法的介绍和使用
BES2810_best1702_best1702_ibrt_三者关系深度解析
一颗芯片的三个名字:BES2810、best1702 与 best1702_ibrt 关系深度解析
AI测试干货:Claude Code Skill 从入门到精通
本文介绍了Claude Code Skill功能如何解决AI重复工作问题。传统提示词方式需要人工复制粘贴,而Skill功能通过建立AI工作记忆库实现智能触发和分层加载。Skill包含工作指令、文档和资源,能自动执行任务。文章以API测试用例生成为例,展示了Skill的创建流程和结构化设计,包括测试框架、覆盖场景和输出格式,显著提升测试工程师的工作效率。
C++的is-a和has-a
C++的is-a和has-a
C++11、C++14 和 C++17 标准新特性详解
特性C++11C++14C++17auto类型推导✅范围 for 循环✅Lambda 表达式✅✅✅智能指针✅移动语义✅nullptr✅统一初始化{}✅✅constexpr✅✅✅✅数字分隔符✅结构化绑定✅✅✅文件系统库✅。
“has-a“与“is-a“关系的区别
在面向对象编程中,"has-a"和"is-a"是两种描述类之间关系的关键概念。它们在设计类结构和继承关系时非常重要。思考已完成(用时24秒)
word多级列表为什么会变成黑块解决思路
今天在写文档时,发现WORD5级的标题都变黑块了,找了度娘的资料,终于解决了。 第一种 1、光标bai放在黑快的右边,按向左的箭头,然后ctrl+shift+s,点击重新应用。 2、点击“定义新的多级列表”(不知道从哪儿找这个按钮的百度下),直接点确定。 3、这里很重要!!!不要直接保存,而是直接关掉word,会提示保存还是不保存,这个地方再点击保存。 第二种 Word2016 使用宏代码修复方法 1.找到视图-宏,打开 查看宏 2.创建宏 3.贴...
Outlook Express 6 (OE6) for Win7/Win8/Win10
英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。
C++中类与类之间的关系:is-a、has-a、uses-a
一、认识三种关系 1. 继承关系【is-a】 “is-a”:派生类对象也是一个基类对象,基类对象能够做的任何操作,派生类对象也能够做。如公有继承就是 “is-a” 继承关系。 <耦合度最高> 举例:苹果是一种特定的水果。 注意: 公有继承不能建立 is-impleme...
WINCC7.3破解文件
WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!
IS-A与HAS-A来检验继承的设计关系
IS-A :"是一个" HAS-A :"有一个" 当一个类继承自另外一个类时,我们会说这是子类去继承父类。若你想要知道某物是否应该要继承另一物时,则可以用IS-A测试来检验。 例如: 三角形是一个多边形。。。。。。。。。嗯,没错。 外科医生是一个医生。。。。。。。。。嗯,ok。 猫咪是一只猫。。。。。。。。。。。算是吧。 澡盆是一个浴室。。。。。。。。。失败! 大肠没有洗干净。。...
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
pscad IEEE标准系统搭建说明
pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。
【C++】 is-a原则 和 has-a原则
1.is-a 与 has-a概念 2.is-a 与 has-a实例 3.什么时候用is-a ,什么时候用 has-a?推荐使用has-a 1.is-a 与 has-a概念 1.1 is-a(英语:subsumption,包含架构)是一种继承关系,指的是类的父子继承关系。表达的是一种方式:这个东西是那个东西的一种。例如:长方体与正方体之间--正方体是长方体的一种。正方体继承了长方体的属性...
Is a 和Has a之间关系
Is a 和Has a之间关系可以这样理解汽车是一种交通工具: 汽车 is-a 交通工具 汽车有一个发动机: 汽车 has-a 发动机 is-a 一般是继承关系 has-a 一般是组合关系或者这样理解;"has a"关系即组合关系,通过定义类的属性的方式实现的;"is a"关系即继承关系,通过类继承实现 如果你确定两件对象之间是is-a的关系,那么此时你应该使用继承;比如
Is-A 和 Has-A关系
he is a people he has a head我是一个男人 is-a 我有一个女人 has-a is_a 用于继承 has_a 是组合 一个类中包含了其他类一般我们认为继承可以分为两种基本的形式:实现继承和接口继承。实现继承的主要目标是代码重用:我们发现类B和类C存在同样的代码,因此我们设计了一个类A,用于存放通用
C++继承体系中Is a 关系 和has a关系
在学习继承的过程中,不管是在书中还是在网上找资料,都跟多态分不开,其中还有个很抓人眼球的问题,那就是书上总是说的is-a关系和has-a关系。 很多书中讲到继承时都会说: public继承是一个接口继承,保持is-a原则,每个父类可用的成员对子类也可用,因为每个子类对象也都是一个父类对象。 (子类 is a 父类) protetced/private继承是一个实现继承,基类
is_a原则和has_a原则
一、 is-A继承关系:“表示类与类之间的继承关系、接口与接口之间的继承的关系以及类对接口实现的关系”。 has-A合成关系:“是关联关系的一种,是整体和部分(通常为一个私有的变量)之间的关系,并且代表的整体对象负责构建和销毁代表部分对象,代表部分的对象不能共享” 二、is_a是继承关系, has_a是组合关系(描述一个类中有另一个类型的实例) 简单的理解就可以这样: has-a 就是
【C++】is-a原则 和 has-a原则
2019独角兽企业重金招聘Python工程师标准>>> ...
HAS-A和IS--A
HAS-A和IS--A的区别: 最近在准备校招,估计校招更看重的还是基础问题,所以又把这些东西翻了出来,就写下来吧,希望对你有所帮助。 IS--A基于类继承或接口实现,IS-A是表达这句话的一种方式:“这个东西是那个东西的一种”。例如:野马是一种马。(是一个) HAS-A关系是基于用法(即引用)而不是继承。换句话说,如果类A中的代码具有对类B实例的引用,则“类A HAS-A类B”。例如:马有
3812
688

被折叠的 条评论
为什么被折叠?



