10、通过继承获取行为

通过继承获取行为

在软件开发中,设计良好的应用程序通常由可复用的代码构建而成。那些上下文简单、接口清晰且依赖可注入的小型、可靠的自包含对象,天生就具备可复用性。而在面向对象编程里,继承是一种内置在语言语法中的代码共享技术。

理解经典继承

继承的概念看似复杂,但其实它的核心是一种自动消息委托机制。当一个对象收到它无法理解的消息时,它会自动将该消息转发给另一个对象。在经典继承中,这种关系是通过创建子类来定义的,消息从子类转发到超类,共享代码在类层次结构中定义。

不同的编程语言有不同的继承方式,例如 JavaScript 有原型继承,Ruby 有模块。经典继承中的“经典”一词是对“类”这个词的一种运用,并非指古老的技术,它用于区分超类/子类机制与其他继承技术。

下面通过一个自行车的例子来详细说明经典继承的使用和滥用情况。

识别何时使用继承

假设 FastFeet 组织公路自行车旅行,公路自行车轻便,有弯把和适合铺装路面的细轮胎。机械师负责确保自行车正常运行,每次旅行都要携带各种备用零件,所需的备用零件取决于所携带的自行车类型。

从具体类开始

FastFeet 的应用程序已经有一个 Bicycle 类,代码如下:

class Bicycle
  attr_reader :size, :tape_color

  def initialize(**opts)
    @size       = opts[:size]
    @tape_color = opts[:tape_c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值