面对对象和面向过程
时间:2023-06-28
来源:m.86027.cn
面向过程的烧水:
读取热水壶内水的水温,缓存
电热装置将发热量缓存
损耗算法读取发热量,并将将水的提升温度缓存
与水温相加
将这个数值重新赋给水温
直到温度达到沸点,完成烧水
|
面向对象的烧水:
定义热水壶类,继承自盛水容器,温度改变装置,温度计,水温控制接口
实例化一个热水壶类对象,命名为「我的热水壶」
为终止温度赋值:水.沸点
我的热水壶.温度处理(终止温度);
|
另:个人实现的烧水方法,仅图一乐:
为热水壶类实装烧水接口:实装水温监视事件
为热水壶类实装烧水接口:定义一个水温枚举器
为热水壶类实装烧水接口:实装温度处理方法
执行流程:
1.执行继承自盛水容器类的盛水方法
2.注册继承自温度改变装置类的温度监视事件
3.遍历水温枚举器:如果水温提升,则返回当前水温
4.如果返回值接近终止温度,跳出枚举过程,完成烧水。
5.否则,继续遍历枚举器。
|
你肯定会问这哪里优雅了,确实,看起来是复杂了不少,但再仔细想一想,这一整套流程只要稍加修改,稍加改变接口实现,你就可以直接用这个「热水壶类」实现一个热水器,甚至还可以是一个冰箱。
毕竟烧的又不一定是水,又不一定要烧水,又不一定要用壶烧水,又不一样要是个烧水壶。