12、面向对象编程中的继承与角色共享

面向对象编程中的继承与角色共享

1. 管理超类与子类之间的耦合

在面向对象编程中,超类与子类之间的耦合管理是一个重要的问题。以自行车相关的类为例, Bicycle 类包含了大部分抽象的自行车行为,如管理整体自行车尺寸、链条和轮胎尺寸等,但缺少 spares 方法的实现。

1.1 理解耦合

spares 方法的第一种实现方式最简单,但会导致类之间的耦合度最高。以下是 RoadBike MountainBike Bicycle 类的相关代码:

class RoadBike < Bicycle
  # ...
  def spares
    { chain:      '11-speed',
      tire_size:  '23',
      tape_color: tape_color }
  end
end

class MountainBike < Bicycle
  # ...
  def spares
    super.merge(front_shock: front_shock)
  end
end

class Bicycle
  # ...
  def spares
    { tire_size: tire_size,
      chain:     chain }
  end
end

这种实现方式虽然能让代码正常工作,但存在隐患。当子类忘

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值