多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。
实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法。
多态存在的三个条件:继承,重写或重载,向上造型。
向上造型即:父类引用指向子类对象。
继承是实现多态的前提。
多态,表面意思,一个事物具有不同的形态。
比如:人和动物都要吃东西。人可以吃各种馒头,肉,烧烤。而猫吃老鼠。狗吃骨头。这就是一种多态。
动态绑定:比如你写了一个父类,人类。然后然后人类写了两个子类,学生类,老师类。你需要一个写一个有参方法,实现一个功能,如果对象是老师,则输出老师的工作是学习,如果输入对象是学生,则输出学生的工作是学习,
因为对象的不确定性。所以这个有参方法里面参数我们会写成父类类型,即人类。
个人理解,不对的话欢迎各位指出,不胜感激。