第五讲面向对象程序设计思想继承(修改)..docVIP

  • 7
  • 0
  • 约 9页
  • 2016-12-21 发布于重庆
  • 举报

第五讲面向对象程序设计思想继承(修改)..doc

第五讲 面向对象程序设计思想(3) ——继承 引子 在评测成绩程序里,我们已经知道考试课类和考查课类都继承了课程类。“继承”的定义是:特殊类的对象拥有其一般类的全部属性与服务。在JAVA中,特殊类称作“子类”或“派生类”,一般类称作“超类”、 “基类”或者“父类”。例如鸽子是鸟的子类,因此所有“鸟”该有的特性,鸽子也都有。 5.1继承 如果树上停着一只鸽子、两只麻雀、三只乌鸦,我们问树上有几只鸟,大家会毫不犹豫地说六只。因为鸽子、麻雀、乌鸦都是鸟的子类,因此我们可以用“鸟”这个超类来统称它们,也就是超类的引用可以指向子类的对象。但反过来就不成立了,子类的引用不能指向超类的对象,毕竟鸟不是鸽子。由此,我们可以得到下面的结论: 1、子类对象可以被视作是其超类的一个对象; 2、超类对象不能被视作是其子类的一个对象; 3、超类的引用可以指向其子类的对象; 4、子类的引用不可以指向其超类的对象。 再进一步的考虑,如果上面的六只鸟都叫了起来,“叽叽”“咕咕”却并不相同。例如下面代码: 鸟 a = new 鸽子(); 鸟 b = new麻雀(); 鸟 c = new乌鸦(); a.叫(); b.叫(); c.叫(); 虽然都是叫,但各有不同。因为a、b、c所表示的对象分别是鸽子、麻雀和乌鸦它们虽同属于鸟类,但各自有各自的实现。 5.1.1 继承是面向对象语言中特有的复用工具。子类通过继承

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档