多态的原理是:当向上转型后,调用一个被重写的方法时,本该调用的是父类方法,但实际上却会动态地调用子类重写后的方法。实际上,编译期间绑定的确实是父类方法,只不过在执行期间动态转调子类对应方法。
实现多态的技术的关键点在于:
(1). 定义一个父类引用f,并将其指向子类对象,即进行向上转型 ;
(2). 重写父类的方法,并使用父类引用f去引用这个方法。这样就可以面向父类进行编程 。
向上转型
对象能够调用子类继承自父类的方法和覆写的方法以及属性,不能调用子类扩展的方法和属性。
向下转型
父转子
这里比较特殊,这种转型发生的前提是进行了向上转型,即子转父,再转子。
转型是对象多态性最核心的思想
网友评论