• 编程参考 - 程序设计中类的生命周期及状态管理


    生命周期

    根据程序设计的不同需要,有不同的类的生命周期。

    有的类在程序运行中一直存在,直到程序停止执行。

    有的类是在函数内部创建的,函数退出后就自动析构了。

    有的类是使用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。而涉及具体的类,根据其行为或功能不同,其内部可以各自定义不同的状态。

  • 相关阅读:
    OpenAI“杀疯了”,GPT–4o模型保姆级使用教程!一遍就会!
    快速排序算法
    前端小游戏——植物大战僵尸
    EventLoop框架C++服务端(Tcp/Ip)搭建---完善
    最新数据挖掘赛事方案梳理!
    记一次.Net分布式事务死锁现象以及解决方法
    图的初识·遍历
    linux笔记8--安装软件
    配置文件中的ini,json,以及lua实现方式的优劣比较
    C++高级功能笔记
  • 原文地址:https://blog.csdn.net/guoqx/article/details/128073516