多态
来源:互联网 发布:恺英网络招聘 编辑:程序博客网 时间:2024/06/06 13:16
什么是多态?
多态指同一个实体同时具有多种形式。它是面向对象程序设计(OOP)的一个重要特征。如果一个语言只支持类而不支持多态,只能说明它是基于对象的,而不是面向对象的。C++中的多态性具体体现在运行和编译两个方面。运行时多态是动态多态,其具体引用的对象在运行时才能确定。编译时多态是静态多态,在编译时就可以确定对象使用的形式。同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。
在C++中:
class A {
public:
A() {}
virtual void foo() {
count << "This is A." << endl;
}
};
class B : public A {
public:
B() {}
void foo() {
cout << "This is B." << endl;
}
};
int main(int argc, char* argv[]) {
A *a = new B();
a->foo();
if(a != NULL)
delete a;
return 0;
}
这将显示:
This is B.
如果把virtual去掉,将显示:
This is A.
前面的多态通过使用虚函数virtual void foo()来实现。
0 0
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- 多态
- android逆向2
- HTML图像
- JS正则表达式应用——基于Jquery的验证密码强度特效
- 使用GithubDesktop 过滤 .DS_Store 文件导致多人协作冲突的问题[图/文]
- jQuery自定义函数应用和解析
- 多态
- Jmeter参数化
- 【EmbeddedDev】BBB上通过ADC串口获取光感数值
- Ubuntu配置静态ip
- 十大排序算法总结
- Java 随机生成中文姓名,手机号,邮编,住址
- wifidog 源码初分析-1-转
- call和apply及bind应用
- [Widget]ReplaceLayout-交替布局