恭喜,你发布的帖子
发布于 2021-02-02 05:30:46
14楼
楼上多以面向过程的思路解决问题,在泵的数量不多的情况下,编程还是可以的,程序运行的效率也高。但是如果参与的泵的数量比较多的话,编程就比较复杂了。
用面向对象的方法相对思路就简单一些。泵作为一个类,定义“累计运行时间”,“运行状态”,“启动序号”三个属性。于是楼主的要求就可以简单的转换为如下表述:
1、启动泵:在达到启动下一台泵的条件时(按启动按钮或高频低压超时),就是把”运行状态“为”停止“的泵中”累计运行时间“最小值的泵挑出来启动,并把“运行状态”改为“正在运行”,同时这台泵把”启动序号“设置为所有”运行状态“为”正在运行“的泵的数量
2、停泵:低频高压超时,就是把”运行状态“为”正在运行“的泵中,”启动序号“最大的那台泵筛选出来停止,把这台泵的“运行状态”改为“停止”,把“启动序号”置零。
3、故障:当泵的“运行状态”为“故障”时,自动停这台泵,启用它相应的备用泵(由于楼主这方面要求并不完整清晰,这里只能给个笼统的说法了)
可见,用面向对象方法,改变泵的数量时,并不需要改变程序。3台泵是这个程序,30台泵也是这个程序,不过是把for的循环次数调整一下,只要给“泵的数量”这个变量赋值就可以了,
请填写推广理由:
分享
只看
楼主