C++ 类的设计规则
来源:互联网 发布:新淘宝网怎样充话费 编辑:程序博客网 时间:2024/05/22 06:57
类是C++ 语言的核心概念,要想写出高质量的C++代码,最重要的事情就是把类设计好,下面介绍一些C++类设计的基本规则。
1 命名
类名一般是名词,用大白话说就是类一般都是个“东西”,根据我的命名原则,业务逻辑中涉及到的所有“东西”在程序中都应该有一个对应的类。
类的方法一般是动词,或者动宾式组合,类方法的隐含的主语就是类自己。
举个例子来说,类名是:CHUMAN (人),则根据业务逻辑,CHUMAN的方法可以有打、踢、吃、笑等动作。
这里再次强调一下命名原则的一个推论:如果程序中类的某些数据和它的名字在逻辑上是无关的,则代表类的命名有问题;如果无法重命名,或者找不到合适的名字,则意味着类需要重新设计。
2 类的分类
类可分为数据类和业务类两大类,所谓的数据类,有点类似结构体,单纯是为了保存数据,在多线程情况下,可以用来线程间数据通讯;业务类就是功能模块,业务类分单线程模式和多线程模式,它们的接口几乎一样,区别在于核心业务处理方法是否阻塞。
3 类的四段式
所有的类都可以抽象成四部分:OPEN、CLOSE、CONFIG 和 RUN。OPEN 和 CLOSE 一般就是初始化和释放,CONFIG 就是对行为方式进行配置,而 RUN 就是执行业务逻辑。
OPEN里面一般是分配内存、创建句柄等工作,对应的 CLOSE 是释放内存和销毁句柄。CONFIG 和 RUN 中仅适用内存,不涉及任何申请和释放内存等操作。
对于多线程业务类,会用 START/STOP替代 OPEN/CLOSE,在 START 中创建线程,在STOP 终止线程。
4 数据保护
类中所有数据都应该用PRIVATE 或 PROTECTED 修饰,而严禁用 PUBLIC 修饰,这就是所谓数据保护原则。
5 定义顺序
建议先定义方法,后定义数据,由于方法是 PUBLIC 的,所以类的定义顺序建议是 PUBLIC 方法,后PRIVATE 数据。举个例子:
Class C
{
Public:
Func1();
Func2();
Private:
Inta;
Intb;
};
6 多态注意事项
A基类的析构函数要定义为虚函数
B基类的数据最好用 PROTECTED 修饰
- C++ 类的设计规则
- 数据库设计的规则
- 通用类设计规则
- 类设计规则
- 编程规则 - 3 类设计规则 (2) 类设计的基本要求
- 编程规则 - 3 类设计规则 类设计的基本要求 3.2
- 编程规则 - 3 类设计规则 类设计的基本要求 3.2
- 编程规则 - 3 类设计规则 类设计的基本要求 3.2
- 编程规则 - 3 类设计规则 类设计的基本要求 3.2
- Microsoft FxCop 的设计规则
- 存储过程的设计规则
- Microsoft FxCop 的设计规则 .
- 设计TCP服务器的规则
- 设计模式遵循的规则
- 设计优先考虑的规则
- 设计构建器的规则
- Java并发编程规则:设计线程安全的类
- 【C++】:C++的命名规则
- 树莓派上手实战之把Raspberry Pi 配置成无线路由器
- Structs
- 帧率、码流与分辨率
- android 发送状态栏通知
- 值得学习的网站
- C++ 类的设计规则
- linux 线程 pthread_create 源码 剖析
- 搜集的一些git的文章
- Partition取值
- include()和require()的区别 总结
- 使用jdbc链接mysql数据库
- Linux Route 的一般用法
- PHP扩展:curl
- 《权力的游戏》蕴含的管理经