2020-08-20

类之间的多种关系

1. is-a(is-a-kind-of)
即派生类对象也是一个基类对象,可以对基类对象执行的任何操作,也可以对派生类对象执行。比如:香蕉是一种水果,所有可以从Fruit 类派生出Banana类。
2. has-a
午餐可能包含水果,但通常午餐并不是水果,所以不能从Fruit 类派生出Lunch类来在午餐中添加水果。应该是:午餐有水果。
3. is-implemented-as-a
作为…来实现。例如:可以使用数据来实现栈,但是从Array类派生出Stack例如是不合适的,因为栈不是数组。比如栈没有数组索引。正确的做法是:通过让栈包含一个私有Array 对象成员来隐藏数组实现。
4. uses-a
计算机可以使用打印机,但是从Computer 类派生出Printer类是没有意义的。然而可以使用友元来处理两个对象之间的通信。
5. is-like-a
人们常形容脾气大的女人为母老虎,但是女人不是老虎。所以不能从Tiger类派生出Women类。

继承可建立的关系:1
继承不可建立的关系:2、3、4、5。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值