面向对象设计时的若干考虑

在OOP 中,类之间的关系可以如下表示[1]:

当类是public 继承的时候,它们之间是is-a 关系.
当类是private 继承的时候,它们之间是is-implemented-in-terms-of 关系
当类是耦合关系时,它们之间是has-a 或者 is-implemented-in-terms-of 关系

[1]中还提到两个条款:

绝不重新定义继承而来的non-virtual 函数
避免遮掩继承而来的名称

[参考资料]
[1] Scott Meyers 著, 侯捷译. Effective C++ 中文版: 改善程序技术与设计思维的 55 个有效做法[M]. 电子工业出版社, 2011.
(条款32:确定你的public 继承塑模出is-a 关系;
条款33:避免遮掩继承而来的名称
条款36:绝不重新定义继承而来的non-virtual 函数
条款38:通过复合塑模出has-a 或“根据某物实现出”
条款39:明智而审慎地使用private 继承)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值