3.1 自封装字段

【1】源代码

复制代码
 1 class Student
 2 {
 3     typedef enum { MALE, FEMALE } SEX;
 4 
 5 public:
 6     QString m_name;
 7     int m_nAge;
 8     SEX m_sex;
 9     QString m_strID;
10     QString m_department;
11 };
复制代码

【2】自封装字段

复制代码
 1 // 自封装
 2 class Student
 3 {
 4     typedef enum { MALE, FEMALE } SEX;
 5 
 6 public:
 7     QString getName()
 8     {
 9         return m_name;
10     }
11     void setName(QString name)
12     {
13         m_name = name;
14     }
15     int getAge()
16     {
17         return m_nAge;
18     }
19     void setName(int nAge)
20     {
21         m_nAge = nAge;
22     }
23     SEX getSex()
24     {
25         return m_sex;
26     }
27     void setSex(SEX sex)
28     {
29         m_sex = sex;
30     }
31     QString getID()
32     {
33         return m_ID;
34     }
35     void setID(QString id)
36     {
37         m_ID = id;
38     }
39     QString getDepartment()
40     {
41         return m_department;
42     }
43     void setDepartment(QString department)
44     {
45         m_department = department;
46     }
47 
48 private:
49     QString m_name;
50     int m_nAge;
51     SEX m_sex;
52     QString m_ID;
53     QString m_department;
54 };
复制代码

【3】总结

直接访问一个字段,但与字段之间的耦合关系逐渐变得笨拙。

为这个字段建立取值/设值函数,并且只以这些函数来访问字段。

 

Good Good Study, Day Day Up.

顺序 选择 循环 总结

posted @   kaizenly  阅读(307)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
打赏

喜欢请打赏

扫描二维码打赏

微信打赏

点击右上角即可分享
微信分享提示