//4、类和对象 //C++面向对象的三大特性为 : 封装 、 继承 、 多态 //C++认为万事万物都皆为对象 , 对象上有其属性和行为 //例如 : //人可以作为对象 , 属性有姓名 、 年龄 、 身高 、 体重 ... , 行为有走 、 跑 、 跳 、 吃饭 、 唱歌 。。。 //车也可以作为对象 , 属性有轮胎 、 方向盘 、 车灯 ... ,行为有载人 、 放音乐 、 空调 //具有相同性质的对象 , 我们可以抽象为类 , 人属于人类 , 车属于车类 //4.1封装 //4.1.1封装的意义 //封装是C++面向对象三大特征之一 //封装的意义 : //⚪将属性和行为作为一个整体 , 表现生活中的食物 //⚪将属性和行为加以权限 //封装的意义 : // 在设计累的时候 , 属性和行为写在一起,表现事物 // 语法 :class 类名 { 访问权限 : 属性 / 行为 }; #include //实例1 : 设计一个园类 , 求圆的周长 //求圆周长的公式 : 2 * Π * r const double Π = 3.14; //class 代表设计一个类 , 类后面紧跟着的就是类名称 class Circle { //访问权限 //公共权限 public: //属性 int m_r; //行为 //获取圆的周长 double calculateZC() { return 2 * Π * m_r; } }; //示例2 :设计一个学生类,属性有姓名和学号 , 可以给姓名和学号赋值 , 可以显示学生的姓名和学号 class Student { //权限 public: //类中的 属性 和 行为 我们统称为 成员 //属性 成员属性 成员变量 //行为 成员函数 成员方法 //属性 std::string m_Name; //姓名 int m_ID; //学号 //行为 //显示姓名和学号 void showStudent() { std::cout << "姓名 :" << m_Name << "学号 :" << m_ID << std::endl; } //给姓名赋值 void setName(std::string name) { m_Name = name; } //给学号赋值 void setID(int ID) { m_ID = ID; } }; int main1() { //通过圆类 , 创建一个具体的圆(对象) //实例化 (通过一个类 创建一个对象的过程) Circle c1; //给圆对象 的 属性进行赋值 c1.m_r = 10; std::cout << "圆的周长为 : " << c1.calculateZC() << std::endl; //创建一个具体的学生 实例化对象 Student s1; //给s1对象 进行属性赋值操作 //s1.m_Name = "张三"; s1.setName("张三"); //s1.m_ID = 1; s1.setID(1); s1.showStudent(); //显示学生信息 Student s2; s2.m_Name = "李四"; s2.m_ID = 2; s2.showStudent(); system("pause"); return 0; }