写在前面
本文转载自:
[1] 涛哥. 细谈c++的三大特性 [EB/OL]. https://zhuanlan.zhihu.com/p/124151037, 2020-04-03/2021-09-05.
如有侵权,请联系删除。
细谈c++的三大特性: 封装、继承、多态
一、封装
把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。 类将成员变量和成员函数封装在类的内部,根据需要设置访问权限,通过成员函数管理内部状态
class Person
{
private://数据私有
string bame;
int num;
public://方法公有
void getName()
{
return name;
}
};
二、 继承
继承所表达的是类之间相关的关系,这种关系使得对象可以继承另外一类对象的特征和能力。 继承的作用:避免公用代码的重复开发,减少代码和数据冗余。
#include <iostream>
using namespace std;
class Base
{
public:
void printBase(void)
{
cout<<"Base中的printBase"<<endl;
}
};
class Son:public Base
{
};
int main(int argc, char *argv[])
{
Son ob;
ob.printBase();
return 0;
}
运行结果:
三、多态
多态性可以简单地概括为“一个接口,多种方法”,字面意思为多种形态。程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。比如函数重载、运算符重载、虚函数等
#include <iostream>
using namespace std;
class Base
{
public:
virtual void printMsg(void)
{
cout<<"Base中的printMsg"<<endl;
}
};
class Son:public Base
{
public:
virtual void printMsg(void)
{
cout<<"Son中的printMsg"<<endl;
}
};
int main(int argc, char *argv[])
{
Base *p = new Son;
p->printMsg();
return 0;
}
运行结果:
参考链接:
[1] 涛哥. 细谈c++的三大特性 [EB/OL]. https://zhuanlan.zhihu.com/p/124151037, 2020-04-03/2021-09-05.