面试过程中,面试官问:你如何理解面向对象的多态?
总结一下自己的理解:
(官方百度)多态是指程序定义的引用变量指向具体类型和通过该变量发出的方法的调用在编程是并不确定,而在程序运行期间才能确定,即
是一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中的实现的方法,有程序运行期间才能确定。
(自己总结) 子类对象指向父类引用,程序运行期间动态绑定; 属性动态绑定在类型上面,方法动态绑定在对象上面。
方法传参数:在编译期间,给方法传递的值,并不确定是该类型对象的那个一个确定对象。只有在运行期间才能确定给方法传递的具体对象是该类型哪一个。
对象调方法:在编译期间,并不能确定是该类型下的哪个对象,调用了方法。只有在运行期间,才能根据该类型指向的具体对象,确定是哪个对象调用了什么方法。