c++的三大特性:封装、继承、多态
c++认为万物皆为对象,对象上有其属性和行为
封装的意义
封装是c++面向对象的三大特征之一
封装的意义:
1、将属性和行为作为一个整体,表现生活中的事物
2、将属性和行为加以权限控制
封装意义一:
在设计类的时候 ,属性和行为表现事物
语法: class 类名{ 访问权限; 属性/行为};
类中的属性和行为 我们统一称为 成员
//属性: 成员属性 成员变量
//行为: 成员函数 成员方法
案例:设计一个圆类,球求圆的周长
class Circle
{
//访问权限
//公共权限
public:
//属性(一般是变量)
int m_r;
//行为(一般是函数)
//获取圆的周长
double calculateZC()
{
return 2 * PI * m_r;
}
};
//学生类
class Students
{
//访问权限
public:
//属性
string name;
string id;
//行为
void printout()
{
cout << "学生姓名:" << name << endl;
cout << "学生学号:" << id << endl;
}
//给姓名赋值
void setName(string sname)
{
name = sname;
}
//给学号赋值
void setId(string sid)
{
id = sid;
};
};
int main()
{
//通过圆类,创建具体的园(具体的对象)
//实例化(通过一个类,创建一个对象的过程)
Circle c1;
//给圆对象 的属性进行赋值
c1.m_r = 10;
cout << "圆的周长为:" << c1.calculateZC() << endl;
//实例化
Students s1;
s1.name = "**";
s1.id = "1234567";
s1.printout();
//方法二
Students s2;
s2.setName("***);
s2.setId("123456");
s2.printout();
system("pause");
return 0;
}
访问权限
访问权限有三种:
1、公共权限 public 成员 类内可以访问 类外可以访问
2、保护权限 protected 成员 类内可以访问 类外不可以访问(子类可以访问父类的保护内容)
3、私有权限 private 成员 类内可以访问 类外不可以访问(子类不可以访问父类的私有内容)
struct与class
//在c++中struct 和 class 的唯一区别就在于 :默认的访问权限不同
//class 默认权限是私有
//struct 默认权限是公开