包虫病

首页 » 常识 » 常识 » 我用C语言玩对象,状态模式应用1水的三
TUhjnbcbe - 2021/5/20 18:54:00
安卓开发求职招聘微信群 https://www.edunews.net.cn/2021/ywbb_0915/133267.html

概述

状态模式允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。

之前的文章已经详细阐述了这种设计模式的核心和注意事项,并完成了基类设计,请参见《C语言-状态模式(基类部分)》,本文将结合实际案例论证这种设计模式,加深读者对状态模式的理解和应用。

示例

★背景说明:水包含三种状态,固态、液态、气态,而三种状态根据温度决定,不同温度对应不同状态,当改变水温,对应的状态将会自行改变。

★环境对象(water):

属性:温度(当前水温)

行为:获取温度、设置温度、提高温度、降低温度、处理函数。

继承:继承环境类context基类

★状态对象(固态、液态、气态,每种状态单例设计):

属性:无

行为:无。

继承:继承状态类state基类

★包含头文件water.h和源文件water.c(均已验证通过)

water.h

/***

Filename:water.h*

Revision:$Revision:1.0$*

Author:Feng(
1
查看完整版本: 我用C语言玩对象,状态模式应用1水的三