1. 编译时的多态性与运行时的多态性有什么区别,他们的实现方法有什么不同?

1. 编译时的多态性与运行时的多态性有什么区别,他们的实现方法有什么不同?,第1张

多态从实现的角度可以划为两类:编译时多态和运行时多态。

编译时的多态性:就是在程序编译的时候,也就是生成解决方案的时候就决定要实现什么 *** 作。

运行时的多态性:就是指直到系统运行时,才根据实际情况决定实现何种 *** 作。

1、多态实现形式不同:

编译时的多态是通过静态连编来实现的;运行时的多态是用动态连编来实现的。

2、多态性通过方式不同:

编译时的多态性主要是通过函数重载和运算符重载来实现的;运行时的多态性主要是通过虚函数来实现的。

扩展资料:

静态多态性又称编译时的多态性。静态多态性的函数调用速度快、效率高但缺乏灵活性,在程序运行前就应决定执行的函数和方法。

动态多态性的特点是:不在编译时确定调用的是哪个函数,而是在程序运行过程中才动态地确定 *** 作所针对的对象。又称运行时的多态性。动态多态性是通过虚函数(virtual function)实现的。

在编程语言和类型论中,多态(英语:polymorphism)指为不同数据类型的实体提供统一的接口。 多态类型(英语:polymorphic type)可以将自身所支持的 *** 作套用到其它类型的值上。

在编程语言和类型论中,多态(英语:polymorphism)指为不同数据类型的实体提供统一的接口。多态类型(英语:polymorphic type)可以将自身所支持的 *** 作套用到其它类型的值上。

计算机程序运行时,相同的消息可能会送给多个不同的类别之对象,而系统可依据对象所属类别,引发对应类别的方法,而有不同的行为。简单来说,所谓多态意指相同的消息给予不同的对象会引发不同的动作。

多态也可定义为“一种将不同的特殊行为和单个泛化记号相关联的能力”。多态可分为变量多态与函数多态。变量多态是指:基类型的变量(对于C++是引用或指针)可以被赋值基类型对象,也可以被赋值派生类型的对象。

函数多态是指,相同的函数调用界面(函数名与实参表),传送给一个对象变量,可以有不同的行为,这视该对象变量所指向的对象类型而定。因此,变量多态是函数多态的基础。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12100414.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存