在面向对象的设计中,多态主要体现在向不同的对象发送同一个信息,不同的对象在接收时会产生不同的行为(即方法),对像可以用自己的方法去响应共同的信息。( 多态:在同一个时刻,体现出来的不同状态)
多态性主要体现在两个方面:方法重载实现的静态多态性(编译时多态)
方法重写实现的动态多态性(又称动态连编)
编译时多态:在编译阶段,具体调用那个被重载的方法,编译器会根据参数的不同来静态确定调用的方法。
动态联编:由于子类继承了父类的所有属性(除过私有),所以子类对象可以作为父类对象的使用,程序中凡是使用父类对象的地方,都可以用子类对象来代替,一个对象可以通过子类的实例来调用子类的方法。
多态的前提:1)必须有继承关系
子类继承父类,存在一些特点
2)必须有方法重写
子类继承父类,方法重写的目的,举例:动物吃的方法,每一个具体动物吃的东西不一样,所有必须要方法覆盖
3)就是必须有父类的引用指向子类对象 (向上转型)
父类名 fu