首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >对于下面的代码,哪种方法是实现切换用例的好方法?

对于下面的代码,哪种方法是实现切换用例的好方法?
EN

Stack Overflow用户
提问于 2019-03-25 19:23:48
回答 1查看 89关注 0票数 0

我发现的大多数地方都使用多态性而不是Switch case语句。我知道如果所有情况在switch case中都不同,那么使用多态性会更好。

如果几个案例具有相同的代码,会发生什么!哪种方法是好的?多态或切换大小写。

例如:

代码语言:javascript
运行
AI代码解释
复制
QList<QString> ret;
switch (x) 
   { 
       case A1: 
       case A2: ret = QList<QString>() <<"A" <<"B" <<"C" ;
               break; 
       case A3:
       case A4: ret = QList<QString>() <<"E" <<"F" <<"G" << "H" <<"T" ; 
               break; 
       case A5:
       case A6:
       case A7: ret = QList<QString>() <<"H" <<"F" <<"K" << "L" <<"T" ; 
               break; 
       default: ret = QList<QString>(); 
                break;   
   } 

如果我使用多态性。

1)如果我为A1 - A7创建单独的类,那么我可能需要在所有派生类(A1- A7)中创建QList()的单独副本。我认为它会使用更多的内存空间。

我只放了示例代码,我的代码是不同的。

有没有人能建议我哪种方法适合这种情况?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-03-26 08:19:04

你的问题实际上不是关于Qt的,而是关于OOP编程的,不是吗?没有一个通用的答案,它取决于代码的复杂性。对于您的示例,看起来switch可以,但随着复杂性的增加,多态性成为更好的选择。

您的案例可能如下所示:

代码语言:javascript
运行
AI代码解释
复制
              base class containing the List
              /              |             \ 
             /               |              \ 
  intermediate 1-2    intermediate 3-4    intermediate 5-6-7
     /     \              /     \             /   |   \ 
    A1     A2            A3     A4           A5  A6   A7

每个中间派生类将执行与其他派生类相同的工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55345069

复制
相关文章
测量误差?什么误差?测量什么?
买了一台普源的DM3058,官网售价3980元,用来测量100nA误差范围内的电流,由于预算有限,供应商同时推荐了固纬GDM-8341万用表,分辨率可测到10nA。某宝售价2260元,与DM3058相比省下来1720元!
硬件大熊
2022/06/23
9220
测量误差?什么误差?测量什么?
误差函数
其中, 表示神经网络的输出, 表示监督数据( 采用 one-hot 编码), 表示数据的维度。
hotarugali
2022/03/03
9320
如何将springboot 服务整合到spring cloud?
待完善 一:pom.xml添加以下代码 <properties> <java.version>1.8</java.version> <spring-cloud.version>Edgware.RELEASE</spring-cloud.version> </properties> <dependencyManagement> <dependencies> <dependency>
爱明依
2019/03/12
8400
mse函数(均方误差函数)_二次代价函数有什么用
以单个样本举例: [外链图片转存失败(img-PAQ9mnqd-1562394972088)(http://i.imgur.com/D4n2Dsz.jpg)] ,a=σ(z), where z=wx+b
全栈程序员站长
2022/11/11
5550
mse函数(均方误差函数)_二次代价函数有什么用
mse均方误差例题_误差函数计算器
本人最近需要写多个仿真,需要大量用到MSE(均方误差)计算,于是干脆将MSE运算封装为函数,后续使用直接进行调用即可。
全栈程序员站长
2022/11/19
9630
深度学习: 分类 目标函数 (交叉熵误差(CE) -> 焦点误差(FL))
CE(y^)=−1n∑k=1n[I{y=y′}log(pt)]CE(y^)=−1n∑k=1n[I{y=y′}log⁡(pt)]
JNingWei
2018/09/27
1.8K0
低功耗 | 从综合到PostRoute 功耗的Gap 有多大
PPA, Performance, Power, Area 是衡量一颗芯片的基本指标,这三大指标中Power 是最诡诈的,它不像Performance 跟Area 是可相对精确计算的,而Power 在芯片回来之前都只能估算,至于估算值跟实际值相差几何,也是一个说不清道不明的东西,部分讨论可回顾《探讨 | 功耗应该在哪个corner 看?》。至于为什么,老驴大致总结了几点,请驴友补充:
老秃胖驴
2020/07/09
2K0
低功耗 | 从综合到PostRoute 功耗的Gap 有多大
如何将威胁情报整合到安全意识项目中?
优秀的网络威胁情报能够帮助企业预见、应对并解决威胁因素。虽然优秀的情报当中必然包含大量内容,但企业绝不能单纯依靠内容来驱动整个运营体系中的价值实现方式。企业管理者需要着眼于团队定位,并借此取得成功。丰富的上下文情报需要配合充分准备及基础性能力方可最大程度发挥价值。
FB客服
2018/07/30
4790
常用的工程测量仪器有哪些?
工程测量仪器是一种测量仪器,是工程建设的规划设计、施工及经营管理阶段进行测量工作所需用的各种定向、测距、测角、测高、测图以及摄影测量等方面的仪器。如振弦采集仪,投影仪,经纬仪,水准仪,平板仪,速测仪,陀螺经纬仪,激光测量,摄影仪,测图仪等常用仪器。
河北稳控科技
2022/08/17
1.1K0
常用的工程测量仪器有哪些?
线性回归 均方误差_线性回归模型中随机误差项的意义
刚开始学习机器学习的时候就接触了均方误差(MSE,Mean Squared Error),当时就有疑惑,这个式子是怎么推导的,但是因为懒没有深究。今天看到了唐宇迪老师的机器学习课程,终于理解他是怎么推导的了。一定要一步一步看下去,别看他公式这么多,随便认真看一下就能理解的!
全栈程序员站长
2022/11/11
1K0
线性回归 均方误差_线性回归模型中随机误差项的意义
自动驾驶地图构建(Mapping)-占位栅格图(Occupancy Grid Map)
前面文章《自动驾驶运动规划(Motion Planning)》中提到可以使用占位图(Occupancy Grid Map)表示自动驾驶行驶区域的哪些区域被障碍物(如静止的车辆、路中间的石墩子、树木、路肩等)占用,Motion Planning模块会通过查询占位地图避开这些道路障碍物,避免与它们碰撞,从而达到安全驾驶的目的。
YoungTimes
2022/04/28
4.1K0
自动驾驶地图构建(Mapping)-占位栅格图(Occupancy Grid Map)
Vue 中,如何将函数作为 props 传递给组件
作者:Michael Thiessen 译者:前端小智 来源:medium 点赞再看,养成习惯本文 GitHub https://github.com/qq44924588... 上已经收录,更多往
前端小智@大迁世界
2020/05/18
8.5K0
js中的箭头函数和普通函数有什么区别
4、箭头函数会捕获其所在上下文的 this 值,作为自己的 this 值,定义的时候就确定了;
用户1086262
2021/11/04
2.3K0
机器学习中的Bias(偏差),Error(误差),和Variance(方差)有什么区别和联系?
本文主要探讨了机器学习中的偏差(Bias)、误差(Error)和方差(Variance)之间的区别和联系。偏差是模型预测值与真实值之间的误差,误差是模型预测值与样本真实值之间的误差,方差则是模型预测值与模型预测值之间的误差。了解这三者之间的区别和联系对于选择合适的模型和参数十分重要,过高的偏差可能意味着模型过于简单,而过高的方差可能意味着模型过于复杂。在实践中,降低偏差和方差往往需要权衡。
MachineLP
2018/01/09
2.2K0
机器学习中的Bias(偏差),Error(误差),和Variance(方差)有什么区别和联系?
互联网中的“网络路径测量”
网络路径测量,利用多模式的网络路径联邦探测技术,实现准确、完整、高效的网络路径探测,大规模地采集重点方向国家(地区)IP的网络路径数据。
埃文科技
2022/10/13
8090
互联网中的“网络路径测量”
六西格玛测量阶段有多重要?
六西格玛测量阶段是DMAIC过程的第二阶段。我们总是说他是实施六西格玛的重要阶段,但我们不知道它有多重要。为了帮助您了解六西格玛测量阶段的重要性,小编将介绍这个问题!
用户9972271
2022/11/11
2330
TensorFlow2.0(8):误差计算——损失函数总结
均方误差(Mean Square Error),应该是最常用的误差计算方法了,数学公式为:
统计学家
2019/12/23
1.3K0
智能音箱中喇叭腔体的参数测量
最近一直忙碌于喇叭腔体的测试, 只有平衡好 喇叭 / 腔体 / 功放三者之间的关系, 才能保证好的效果.
程序手艺人
2019/08/23
1.5K1
智能音箱中喇叭腔体的参数测量
使用OpenCV测量图像中物体的大小
本文来自光头哥哥的博客【Measuring size of objects in an image with OpenCV】,仅做学习分享。
周旋
2022/08/07
2.8K0
使用OpenCV测量图像中物体的大小
OL2中测量工具的扩展
概述: 本文共享一个扩展后的测量工具,实现绘制时测量结果的实时展示。 效果: 测距 测面 实现: 1、扩展MeasureControl /** * Class: OpenLayers.Control
牛老师讲GIS
2018/10/23
8370
OL2中测量工具的扩展

相似问题

函数中的拟对策衰落误差

17

测量函数R的技术误差

12

拟对策元组曲面误差

10

拟博弈中的isCollision函数

13

计算R中形态测量的测量误差

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档