您的位置:首页 > 其它

动多态与静多态

2016-01-08 21:27 169 查看
表现动多态的函数只处理特定类系列的对象,一个类层次的结构,而且基类必须是多态类,一个类系列配一个表现多态的函数。而模板表现的多态不是在运行中进行类型识别的,而是在编译时刻进行类型识别的,因而模板实现的多态为静多态。

对于抽象编程来说,或许使用动多态更好一点,他可以将类实现的源代码彻底隐蔽,无需提供给使用类的用户,以实现软件的保护。而静多态编程的代码由于程序结构的影响,还必须放在头文件中作为模板使用之前声明和定义。

从性能来看,静多态由于动多态,因为动多态是基于虚函数实现的机制,有间接的访问迂回代码,而静多态没有这种开销。

从错误检测来说,一个实体如果不具备某种操作,而程序又动态的绑定该操作,则必须在运行中才可以发现错误。而静多态编程在编译时检测类型匹配的,若果在实例化过程中发现一个实体没有的操作,会及时报错。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: