包虫病

注册

 

发新话题 回复该主题

我用C语言玩对象,状态模式应用1水的三 [复制链接]

1#
安卓开发求职招聘微信群 https://www.edunews.net.cn/2021/ywbb_0915/133267.html

概述

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

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

示例

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

★环境对象(water):

属性:温度(当前水温)

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

继承:继承环境类context基类

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

属性:无

行为:无。

继承:继承状态类state基类

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

water.h

/***

Filename:water.h*

RevisionRevision:1.0$*

Author:Feng(
分享 转发
TOP
发新话题 回复该主题