必要条件:继承父类(或实现接口)、重写、父类引用指向子类对象(或接口引用指向实现类对象)。
注:继承多态包括子类继承父类时发生的多态,与实现类实现接口时发生的多态,重写在继承或实现中都可以发生。
多态可分为编译时多态(也叫静态多态或重载多态)与运行时多态(也叫动态多态或继承多态)。
多态也可分为参数多态、包含多态、强制多态与过载多态。
参数多态:应用广泛、最纯的多态。
包含多态:同样的操作可用于一个类型及其子类型。一般需要进行运行时的类型检查。
强制多态:编译程序通过语义操作,把操作对象的类型强行加以变换,以符合函数或操作符的要求。
过载多态:同一个名(操作符﹑函数名)在不同的上下文中有不同的类型。
版权声明:本文为m0_53328194原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。