什么是实现类和对象多态性的关键机制?

更新于
2026-10-10 06:11:07
0阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计809个文字,预计阅读时间需要4分钟。

什么是实现类和对象多态性的关键机制?

多态C++面向对象三大特性之一+多态分为两类+1.静态多态:函数重载和运算符重载属于静态多态,复用函数名+2.动态多态:通过派生类和虚函数实现运行时多态。静态多态和动态多态的区别

多态是C++面向对象三大特性之一

多态分为两类

1.静态多态:函数重载 和 运算符重载属于静态多态,复用函数名

2.动态多态:派生类和虚函数实现运行时多态。

静态多态和动态多态的区别:

静态多态的函数地址早绑定-编译阶段确定函数地址。

动态多态的函数地址晚绑定-运行阶段确定函数地址。


动态多态满足条件

1.存在继承关系

2.子类重写父类的虚函数

重写 函数返回值类型 函数名 参数列表 完全相同

动态多态使用

父类指针或引用 指向子类对象

例子:

son1类和son2类是person类的子类,并且person是抽象类

son1 a;

son2 b;


person& p = a;

p.speak();

person* p1 = new son2;

p1->speak();


person* p2 = &b;

p1->speak();


多态的优点

1.代码组织结构清晰

2.可读性强

3.利于前期和后期的扩展以及维护。

阅读全文

本文共计809个文字,预计阅读时间需要4分钟。

什么是实现类和对象多态性的关键机制?

多态C++面向对象三大特性之一+多态分为两类+1.静态多态:函数重载和运算符重载属于静态多态,复用函数名+2.动态多态:通过派生类和虚函数实现运行时多态。静态多态和动态多态的区别

多态是C++面向对象三大特性之一

多态分为两类

1.静态多态:函数重载 和 运算符重载属于静态多态,复用函数名

2.动态多态:派生类和虚函数实现运行时多态。

静态多态和动态多态的区别:

静态多态的函数地址早绑定-编译阶段确定函数地址。

动态多态的函数地址晚绑定-运行阶段确定函数地址。


动态多态满足条件

1.存在继承关系

2.子类重写父类的虚函数

重写 函数返回值类型 函数名 参数列表 完全相同

动态多态使用

父类指针或引用 指向子类对象

例子:

son1类和son2类是person类的子类,并且person是抽象类

son1 a;

son2 b;


person& p = a;

p.speak();

person* p1 = new son2;

p1->speak();


person* p2 = &b;

p1->speak();


多态的优点

1.代码组织结构清晰

2.可读性强

3.利于前期和后期的扩展以及维护。

阅读全文