Java的组合关系

1.为什么使用组合关系

继承关系: 子类可以继承到父类中部分的成员,那么此时子类是可以修改到父类的信息的.

继承关系破坏封装,为了复用代码可能会让子类具有不该具有的功能.
-----------------------------------------------------------------------------------
为什么引入继承: 为了代码复用问题.
解决代码复用问题,不一定非要使用继承,也可以使用”包含关系”(has  A).
我没钱,但是我想开豪车,我想吃火锅:
    方式1: 任一个富豪干爹.                   继承关系

    方式2: 把一个富豪绑架在我家里,挟天子以令诸侯!     组合关系/包含.


上诉代码虽然可行,但是存在的问题就是子类继承父类的sort()方法时同时还继承了其他的不需要的功能



上诉代码CombinationDemo类使用组合关系,引入ArrayUtil类,而没有继承它,但是也能使用它的方法,所以这样就不会拥有ArrayUtil中的不必要的功能

2.什么时候用继承关系什么时候用组合关系

如果A类为了得到B的功能行为:
   如果A类是B类的一种特殊情况,比如动物和狗我们就应该采用继承来实现.
   否则使用组合方式.
  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值