我在校园
发表于2021-01-10更新于2021-01-10字数统计54阅读时长1分
多态是面向对象程序设计语言中数据抽象和继承之外的第三个基本特征。多态性提供接口与具体实现之间的另一层隔离,从而将“what”和“how”分离开来。多态改善了代码的可读性和组织性,同时也使创建的程序具有可拓展性,项目不仅在最初创建时期可以拓展,而且当项目在需要有新功能时也能拓展。C++支持编译时多态(静态多态)和运行时多态(动态多态),运算符重载和函数重载就是编译时多态,而派生类和虚函数实现运行时多态。静态多态和动态多态的区别就是函数地址早绑定(静态联编)还是晚绑定(动态联编)。如果函数的调用在编译阶段就可以确定函数的调用地址,并产生代码,就是静态多态(编译时多态),就是说地址是早绑定的。如果函数的调用地址不能编译不能在编译期间确定,而需要在运行时才能决定,这就属于晚绑定(动态多态,运行时多态)。