生命周期
根据程序设计的不同需要,有不同的类的生命周期。
有的类在程序运行中一直存在,直到程序停止执行。
有的类是在函数内部创建的,函数退出后就自动析构了。
有的类是使用new操作符创建的指针,要主动使用delete才能执行析构操作。
状态管理
类创建以后,可以划分为不同状态。
类在不同状态下,行为不同,功能不同。
我们在设计类时,要考虑清楚类的状态的划分。
类的设计
但对我们设计一个类来说,主要做好两点:
1,要处理好构造函数和析构函数,保证构造出来的东西,都给消灭掉。
(出来混,迟早都要还的,这是个因果关系)
2,做好类的状态管理,使类的行为符合设计需求。
所以在类的设计中,要注意以下几点:
1,在构造函数Constructor中,对所有的成员变量进行赋值,一些成员还不能确定值的,可以赋空值。
2,在析构函数Destructor中,对使用new操作符生成的指针变量进行delete操作。
3,类的对象创建以后,对具有状态管理需求的类,在满足类的启动条件后,先调用Initialize函数,使类进入Ready状态。
4,与Initialize函数对应,还有UnInitialize函数,当类退出正常工作状态时,调用这个函数。
5,类的一些操作总是成对出现了,除了上面的Constructor/Destructor,Initialize/UnInitialize,其他的操作也是一样。比如打开一个文件后,还要关闭,就会有open/close操作。
遵循对称模式,帮助我们更好的理解和控制类的状态和行为。
6,对类的设计来讲,通用的状态只是上面所说的几种:Created、Initialized、UnInitialized、Destroyed。而涉及具体的类,根据其行为或功能不同,其内部可以各自定义不同的状态。