易百教程

102、编译时多态性和运行时多态性有什么区别?

编译时多态性和运行时多态性之间有以下区别:

编号 编译时多态性 运行时多态性
1 在编译时多态性中,对方法的调用在编译时被解析。 在运行时多态中,对重写方法的调用在运行时被解析。
2 它也称为静态绑定、早期绑定或重载。 它也称为动态绑定、后期绑定、覆盖或动态方法分派。
3 重载是一种实现编译时多态性的方法,可以定义多个具有不同签名的方法或构造函数。 重写是一种实现运行时多态性的方法,可以在派生类中重新定义一些特定的方法或变量。通过使用覆盖,可以对派生类中的基类属性进行一些具体的实现。
4 它提供快速执行,因为对象的类型是在编译时确定的。 与编译时相比,它的执行速度较慢,因为对象的类型是在运行时确定的。
5 编译时多态性提供的灵活性较低,因为所有事情都是在编译时解决的。 运行时多态性提供了更大的灵活性,因为所有事情都在运行时解决。