首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

2.3  继承是什么

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

面向对象的编程允许类从其他类继承(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相同的所有字段和方法,也允许它的代码具有独特的专有特性。这使子类的代码易于阅读。但是,你要谨慎地正确编写每个子类定义的状态和行为的文档,因为这些代码不会出现在每个子类的源文件中。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论