多态的了解
-
多态是指同样的消息被不同类型的对象接收时导致不同的行为。消息是指对类的成员函数的调用,不同的行为意味着不同的实现,即发送了相同的消息(调用了同名的函数),不同类型的对象的后台行为不同(实际执行了不同的函数)。
-
面向对象中多态主要体现在以下4个方面:
①.重载多态:即函数名相同,根据参数的个数或类型不同,选择对应的函数执行。②.强制多态:(两个实例)
(1).int max(int a,int b); int x=4; int float y=5.6; max(x,y);
此时调用max函数时,根据max函数形参类型,float类型的变量y会被转换成int类型,以满足函数形参对两个整形的要求。
(2).int a=1; float b,c=2.2; b=a+c;
这里int整型a被转换成double类型后再相加。③.包含多态:包含多态是类族中定义于不同类中的同名成员函数的多态行为,主要通过虚函数来实现。
④.参数多态 :参数多态与模板相关联,在使用时必须赋予实际的类型才可以实例化。
联编
- 多态从实现的角度可以划分为两类:编译时的多态和运行时的多态。编译时的多态是在编译的过程中确定了同名函数具体调用哪一个;而运行时的多态则是在程序运行过程中才动态的确定同名函数具体调用哪一个。这种确定调用具体代码段的过程就是联编。
- 联编就是指计算机程序自身彼此关联的过程;即把一个源程序经过编译,连接,使之成为可执行的程序文件的过程。
- 在这个过程中,计算机程序自身彼此关联,即将函数名和函数体联系在一起,将标识符名和存储地址联系在一起。用面向对象的术语讲,就是把消息和对象的方法相结合的过程。根据联编进行的阶段的不同,可以将其划分为静态联编和动态联编。
1855

被折叠的 条评论
为什么被折叠?



