8、多态

+多态的作用是消除类型之间的耦合关系
允许将多种类型当作同一种类型来处理
一、再论向上转型
继承允许将对象视为它自己本身的类型或者基类型来加以处理,即向上转型。

Music.tune(Instrument)  接受一个Instrument引用,同时也接受任何一个导出自Instrument的类。
Wind继承自Instrument,所以Instrument的全部接口必定存在与Wind中
当传入为Wind类时,是允许的。
Wind向上转型为Instrument时,可能会缩小接口,但是不会比Instrument的全部接口更窄。

二、构造器和多态

  • 构造器的调用顺序
1、调用基类构造器,反复递归,直到最后一个导出类(即将该类的所有父类的构造器调用)
2、按声明顺序调用成员的初始化方法(调用声明成员的构造器)
3、调用导出类构造器主题(调用自己的构造器)
  • 多态
    多态存在的三个必要条件:继承、重写、父类引用指向子类对象
动态绑定:在执行期间判断所引用对象的实际类型,根据实际类型调用相应方法
多态的实现方式:
1、重写
2、接口
3、抽象类和抽象方法

你可能感兴趣的:(8、多态)