继承是什么?

 

不同类型的对象相互之间经常具有某些共性。例如,山地自行车、公路自行车和双座自行车都具有自行车的性质(当前速度、当前脚踏板步调和当前挡位)。但是每种自行车也都定义了额外特性,使之不同于其他种类:双座自行车有两个座位和两个车把;公路自行车使用降低的车把;一些山地自行车有额外的链条环,使之具有更低的挡位系数。

面向对象的编程允许类从其他类继承(inherit)共同的状态和行为。在这个例子中,Bicycle(自行车)成为MountainBike(山地自行车)、RoadBike(公路自行车)和TandemBike(双座自行车)的超类(superclass)。在Java编程语言中,允许每个类具有一个直接超类,允许每个超类具有潜在的数量不限的子类(subclass)(见图2-3)。

MountainBike

 

TandemBike

 

RoadBike

 

Bicycle

 

图2-3  自行车类的继承

创建子类的语法很简单。在类定义的开头使用关键字extends,后面是被继承的类的名称:

class MountainBike extends Bicycle {

  // new fields and methods defining a mountain bike

  // would go here

}

这使MountainBike具有和Bicycle相同的所有字段和方法,也允许它的代码具有独特的专有特性。这使子类的代码易于阅读。但是,你要谨慎地正确编写每个子类定义的状态和行为的文档,因为这些代码不会出现在每个子类的源文件中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值