多态方法调用允许相同基类的子类对相同的方法作出不同的响应。
实现动态的技术我们称为动态绑定,指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。
多态的作用:消除类型之间的耦合关系。
多态存在的三个必要条件:有继承;有重写;父类应用指向子类对象。
向上转型
父类Animal
子类Cat
子类Dog
测试
可以看到每当我们新增加一个子类就要增加新的方法,我们假设所有动物都有这两种方法,我们可以有更简单的方式去实现,增加一个action方法
结果测试
这样以后想添加类似的子类方法不需要再一个个去直接调子类的方法了,因为action里面已经实现了子类的方法,我们只需要把父类的引用指向子类的对象即可。
经典题目
问题:以下输出结果是什么?
答案:
作者: lost blog
关于作者:专注服务器端开发
本文版权归作者共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接