c++中的继承和组合?

butterflygogogo 2010-11-19 11:28:17
分别从面向对象的思想来考虑和从c++效率的角度来考虑 如果一个功能既可以用继承来实现也可以用组合来实现 哪个会更合理更好呢?
...全文
122 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gules 2010-11-20
  • 打赏
  • 举报
回复
不能只考虑语言层面的功能实现,还应该要把软件结构上的逻辑关系考虑进来,也就是说要综合考虑权衡(一个典型的例子就是包含与私有继承之间的权衡)。

不能绝对说哪种方式优于另一种方式,而是根据不同的应用场景进行选择,总的原则(优先考虑顺序)是先组合再继承。
bourbon1795 2010-11-20
  • 打赏
  • 举报
回复
一般没什么特殊要求,就用继承吧。
但组合的话,耦合更低。
zongzihe 2010-11-20
  • 打赏
  • 举报
回复
我会优先考虑组合。
cswuyg 2010-11-19
  • 打赏
  • 举报
回复
听说要优先使用组合,继承会破坏封装。
楼上说得是。。要在实践中自己体会。
arong1234 2010-11-19
  • 打赏
  • 举报
回复
如果有一种方式更合理更好,那么另外一种方式肯定不可能存在!既然两者都存在,就必然各有长短。

感觉很多人总希望把问题最简单化,指望别人给自己一个“唯一”的答案,以后自己不要思考直接用即可[Quote=引用楼主 zhangjian33446 的回复:]
分别从面向对象的思想来考虑和从c++效率的角度来考虑 如果一个功能既可以用继承来实现也可以用组合来实现 哪个会更合理更好呢?
[/Quote]
butterflygogogo 2010-11-19
  • 打赏
  • 举报
回复
说下具体的原因吧
無_1024 2010-11-19
  • 打赏
  • 举报
回复
个人认为先使用组合
继承太麻烦而且封装不是很好
Erorr 2010-11-19
  • 打赏
  • 举报
回复
具体问题具体分析啊,一般是都要用的
heartlesstoanyone 2010-11-19
  • 打赏
  • 举报
回复
优先使用组合

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧