在面向对象的语言中,多态就是相同方法,不同的表现。
重写和重载时多态具体的表现形式。
重载,举个例子,有一个猫类,定义了一个叫的方法,正常叫的值是“喵喵”,愤怒时叫的值是“喵呜”
重写,举个例子,有一个父类叫动物类,里面有个方法名字是叫,值为空,子类有两个,分别是猫类和狗类,猫类继承动物类的方法叫,并重写添加赋值“瞄”,狗类同样继承父类的方法叫,并重新添加赋值“汪”。
动态绑定是运行时
静态绑定是编译时
多态发生时,要有继承关系,要发生重写,要有父类引用指向子类对象。
多态类型:
1.参数多态:应用广泛,最纯的多态
2.包含多态:同样的操作可用于一个类型及其子类型。
3.强制多态:编译过程中通过语义操作,把操作对象的类型强行加以变换,以符合函数或操作符的要求
4.国在多态:同一个名在不同的上下文中所嗲表的的含义不同