归纳编程学习的感悟,
记录奋斗路上的点滴,
希望能帮到一样刻苦的你!
如有不足欢迎指正!
共同学习交流!
🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言📝
苦难和幸福一样,都是生命盛开的花朵!
一起加油!
多态性是面向对象程序设计的又一个重要特征。由于继承产生了相关的不同的类,各种不同的类的对象对同一消息会做出不同的响应,因此需要引人多态性机制。多态性机制增加了软件系统的灵活性,进一步减少了软件的冗余信息,提高了软件的可重用性和可扩充性,使得编程更加灵活。
多态是指同样的消息被不同类型的对象接收时导致不同的行为。而消息是指对类的成员函数的调用,不同的行为意味着不同的实现,即发送了同样的消息(调用了同名的函数),不同类型对象的后台行为不同(实际执行了不同的函数)。
1.重载多态:
重载函数采用相同的函数调用方式,根据传入参数的不同,后台执行不同的函数,是多态的一种体现。
2.强制多态:
(1)函数调用:
int max(int a,int b)
{
return max(a,b);
}
int main()
{
int x=4;
double y=5.6;
cout<<max(x,y);
}
在调用函数 max时,根据 max 函数形参类型,double 类型的变量会被转换成int类型,以满足函数形参对两个整型的需求。
(2)类型强制转换:
int a=10:
double b,c= 21.2;
b = a+c;
当一个整型变量和一个浮点型变量进行加法运算时,也会首先进行类型强制转换,把整型数变成浮点数再相加,这也是强制多态的实例。
3.包含多态:
包含多态是类族中定义于不同类中的同名成员函数的多态行为,主要通过虚函数来实现。
4.参数多态:
参数多态与模板相关联,在使用时必须赋予实际的类型才可以实例化。
以上就是我对C++多态性——(1)初识多态的理解,希望本篇文章对你有所帮助,也希望可以支持支持博主,后续博主也会定期更新学习记录,记录学习过程中的点点滴滴。如果有不懂和发现问题的小伙伴,请在评论区说出来哦,同时我还会继续更新对C++多态性的理解,请持续关注我哦!!!