C语言面向对象方法._第1页
C语言面向对象方法._第2页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 C 语言,面向对象 实现封装思想 目录 - 头文件本质 用枚举类型替代宏定义 static 与 private s就近定义变量 在工文件中定义数据类型和数据 回用C实现封装思想 代码质量 typedet enum =0 x30, CCxxxO JOCFG2 configuration 头文件本质 声明与定义 宏定义、数据结构必须在头文件中定义吗 头文件控制原则 I 在头文件屮只存在以下内容:使用刈应的几个.C文件,或再库文件, 所必须知道的数据结构、宏定义、函数预定义。 头文件中信息的访问级别一 public 对使用者的承诺 对使用者的指导一注释 为什么要隐藏信息 口节约全局标识符空间 h

2、。简洁,不让使用者困惑 定义明确的类型,发挥编译器的类型检查作用 佶息归SRES SFSTXON =0 x31, SXOFF FIFO GnumCC1101CMD; a ccnoojEfl#存:地址定 /-ccnoot令码定义7 typedef enum enumCC1101 CfgReg =0 x32, CCxxxO TESTO =0 x2E, / Various test settings =OxFF 用于标识数组 CCxxxO ENDDEF enumCC1101 CfgReg; =0 x00, GDO2 output pin =0 x01, / GDO1 output pin CCxxx

3、O JOCFG1 conflguraticxi 就近定义的优点: sttic-private OOP语言的访问修饰符private, protected, public o o o ,可以修饰奕、属性、函数、变量等。 private的含义与作用 类外禁止访问 类用户无需关注 不会被错误的访问 static的含义与作用 C89規定,在任何执行语句之前,在块的开头声明所有局部变量。 在C99以及C+中则没有这个限制,即在酋次使用之前,可在块的任何位置都可以声明变量。 扩展C支持:就近定义变量。 就近定义变量的可移植性的问题。 代码的可移植性: 需求、可能性;是否过度设计? 可能的移植目标对此的约束?移植时再改如何? 参见网络文档: C89语言限制可访问域 代码结.文件中定义数据类型和 数据 相同的目标一信息封装与隐藏 文件之外不知道这些存在,无法直接访问。相当于包级 封装。 对于函数外定义的变量,增加static修饰,更可以防止 重要数据被意外修改。 勉强的替代方案:在非公布的头文件中,定义这 些内容。 代码质量 在正确实现功能,稳定运行的前提下,代码质量的 评估项目 可维护性 可读性、可改性 可扩展性 可移植 才闿的对立统- 短视过度设计的对立 可读性、可改性,与可扩展性、可移植性的矛盾 性能优化与可读性的矛盾

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论