面向对象编程中的继承与角色共享
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
这种实现方式虽然能让代码正常工作,但存在隐患。当子类忘记在
超级会员免费看
订阅专栏 解锁全文

11万+

被折叠的 条评论
为什么被折叠?



