多态类型

多态分为两种:通用多态特定多态。两者的区别是前者对工作的类型不加限制,允许对不同类型的值执行相同的代码;后者只对有限数量的类型有效,而且对不同类型的值可能要执行不同的代码。通用的多态又分为参数多态和包含多态;特定的多态分为过载多态和强制多态。

参数多态:采用参数化模板,通过给出不同的类型参数,使得一个结构有多种类型。例如,模板类。

过载多态:同一个名(操作符﹑函数名)在不同的上下文中有不同的类型。就是c++中的函数重载。

包含多态:同样的操作可用于一个类型及其子类型。包含多态一般需要进行运行时的类型检查。例如,虚函数覆盖机制。

强制多态:编译程序通过语义操作,把操作对象的类型强行加以变换,以符合函数或操作符的要求。程序设计语言中基本类型的大多数操作符,在发生不同类型的数据进行混合运算时,编译程序一般都会进行强制多态。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容