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.
顺序 选择 循环 总结
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 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的设计差异