爱心技术专栏专题

序员必读:基础篇(7)

摘录:java 来源:java 加入时间:2006年08月12日
摘要:
序员必读:基础篇(7)

JAVA程序员必读:基础篇
时间:2001/09/13 13:31作者:ZSC

序员必读:基础篇(7)

站点:爱心种子小博士 关键字:序员必读:基础篇(7)

   
序员必读:基础篇(7)
JAVA程序员必读:基础篇
时间:2001/09/13 13:31作者:ZSC


 
2.5什么是继承

  一个类可以从它的父类继承状态和行为。继承为组织和构造软件程序提供了一个强大的和自然的机理。

  总得说来,对象是以类得形式来定义得。你可能现在已经可以从它类知道许多对象了。即使你如知道,如果我告诉你它是一辆自行车,你就会知道它有两个轮子和脚踏板等等。面向对象系统就更深入一些了,它允许类在其它类中定义。比如,山地自行车、赛车以及串座双人自行车都是各种各样的自行车。在面向对象技术中,山地自行车、赛车以及串座双人自行车都是自行车类的子类。同样地,自行车类是山地自行车、赛车以及串座双人自行车的父类。这个父子关系可以如图9所示:

(图9)

  每一个子例从父类中继承了状态。山地自行车、赛车以及串座双人自行车共享了这些状态:速度等。同样,每一个子类继承类从父类的方法,山地自行车、赛车以及串座双人自行车共享了这些行为:刹车、改变脚踏速度等等。

2.5什么是继承

  然而,子类不能受到父类提供的状态和行为的限制。子类可以增加变量和方法到从父类继承而来的变量和方法。比如,串座双人自行车有两个座位,这是它的父类没有的。

  子类同样可以重载继承的方法并且为这些方法提供特殊执行方法。比如 ,如果你有一个山地自行车有额外 的齿轮设置,你就可以重载改变齿轮方法来使骑车者可以使用这些新的齿轮。

  你也不能受限于继承的一个层次。继承树或者类的分级结构可以是很深。方法和变量是逐级继承的。总的来说,在分级结构的越下方,就有越多的行为。

  如果对象类处于分级结构的顶端,那么每个类都是它的后代(直接地或者是间接地)。一种类型的对象保留任何对象的一个引用,比如类或者数组的一个实例。对象提供了行为,这些行为是运行在JAVA虚拟机所需要的。比如,所有类继承了对象的toString方法,它返回了代表对象的字符串。

下面说说我们为什么要使用继承,它到底有哪些好处呢?好处是有的:


子类提供了特殊的行为,这是在父类中所没有的。通过使用继承,程序员可以多次重新使用在父类中的代码。


程序员可以执行父类(称为抽象类)来定义总的行为。这个抽象的父类可以定义并且部分执行行为,但是绝大多数的父类是未定义和未执行的。其它的部分由程序员来实现特殊的子类。