第5章 继承和多态 继承和多态性是面向对象程序设计的重要内容
继承机制是实现软件构件复用的一种强有力的手段
多态性是面向对象编程的重要特性,是继承产生的结果
Java 语言很好的体现了继承和多态性两大特性
本章将讨论用Java 语言实现继承和多态性,具体将介绍继承概念、继承的实现、抽象类的作用、方法的覆盖以及用接口实现多继承
1 继承 继承是面向对象程序设计的三大概念之一,是面向对象程序的重要概念,它使程序代码复用成为可能
假设已经定义和实现类DigitalProduction(代表数码产品),需要定义一个新的应用类MobilePhone(代表手机)
由于手机是数码产品的一种,所以没有必要对类DigitalProduction 中属于数码产品特征重新书写代码,只需要继承类DigitalProduction 的属性特征即可
这样,类MobilePhone 通过继承获得了类DigitalProduction 的数据和方法
由于类MobilePhone 也具有自身的特征,如“进网许可号”,可以为这些异于其他数码产品的特征定义成员数据和成员方法
这样,MobilePhone 继承于DigitalProduction,又具有新的属性特征
图 5-1 可以表示了两个类之间的继承关系
图 5-1 MobilePhone 继承DigitalProduction 从这个意义上来说,继承是指一个新的类继承原有类的基本特性,并增加新的特性
通俗地说,新的类与原有类之间体现了一种“is-a”关系
只要类和类之间存在的继承关系,这种扩展可以一直延续下去,它体现出类的层次结构
例如,而类MobilePhone 继承于类DigitalProduction
而类IntelligentMobile(代表智能手机)继承于类MobilePhone
继承可以分成两大类型:单继承和多继承
单继承是一个类只