1、封装的意义①.cpp 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. //4、类和对象
  2. //C++面向对象的三大特性为 : 封装 、 继承 、 多态
  3. //C++认为万事万物都皆为对象 , 对象上有其属性和行为
  4. //例如 :
  5. //人可以作为对象 , 属性有姓名 、 年龄 、 身高 、 体重 ... , 行为有走 、 跑 、 跳 、 吃饭 、 唱歌 。。。
  6. //车也可以作为对象 , 属性有轮胎 、 方向盘 、 车灯 ... ,行为有载人 、 放音乐 、 空调
  7. //具有相同性质的对象 , 我们可以抽象为类 , 人属于人类 , 车属于车类
  8. //4.1封装
  9. //4.1.1封装的意义
  10. //封装是C++面向对象三大特征之一
  11. //封装的意义 :
  12. //⚪将属性和行为作为一个整体 , 表现生活中的食物
  13. //⚪将属性和行为加以权限
  14. //封装的意义 :
  15. // 在设计累的时候 , 属性和行为写在一起,表现事物
  16. // 语法 :class 类名 { 访问权限 : 属性 / 行为 };
  17. #include <iostream>
  18. //实例1 : 设计一个园类 , 求圆的周长
  19. //求圆周长的公式 : 2 * Π * r
  20. const double Π = 3.14;
  21. //class 代表设计一个类 , 类后面紧跟着的就是类名称
  22. class Circle
  23. {
  24. //访问权限
  25. //公共权限
  26. public:
  27. //属性
  28. int m_r;
  29. //行为
  30. //获取圆的周长
  31. double calculateZC()
  32. {
  33. return 2 * Π * m_r;
  34. }
  35. };
  36. //示例2 :设计一个学生类,属性有姓名和学号 , 可以给姓名和学号赋值 , 可以显示学生的姓名和学号
  37. class Student
  38. {
  39. //权限
  40. public:
  41. //类中的 属性 和 行为 我们统称为 成员
  42. //属性 成员属性 成员变量
  43. //行为 成员函数 成员方法
  44. //属性
  45. std::string m_Name; //姓名
  46. int m_ID; //学号
  47. //行为
  48. //显示姓名和学号
  49. void showStudent()
  50. {
  51. std::cout << "姓名 :" << m_Name << "学号 :" << m_ID << std::endl;
  52. }
  53. //给姓名赋值
  54. void setName(std::string name)
  55. {
  56. m_Name = name;
  57. }
  58. //给学号赋值
  59. void setID(int ID)
  60. {
  61. m_ID = ID;
  62. }
  63. };
  64. int main1()
  65. {
  66. //通过圆类 , 创建一个具体的圆(对象)
  67. //实例化 (通过一个类 创建一个对象的过程)
  68. Circle c1;
  69. //给圆对象 的 属性进行赋值
  70. c1.m_r = 10;
  71. std::cout << "圆的周长为 : " << c1.calculateZC() << std::endl;
  72. //创建一个具体的学生 实例化对象
  73. Student s1;
  74. //给s1对象 进行属性赋值操作
  75. //s1.m_Name = "张三";
  76. s1.setName("张三");
  77. //s1.m_ID = 1;
  78. s1.setID(1);
  79. s1.showStudent();
  80. //显示学生信息
  81. Student s2;
  82. s2.m_Name = "李四";
  83. s2.m_ID = 2;
  84. s2.showStudent();
  85. system("pause");
  86. return 0;
  87. }