- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
软件设计与体系结构
软件设计与体系课程名称
软件设计与体系
课程名称
课程编号
0920116
结构
实验项目名称
状态与策略模式案例
学号
班级
姓名
专业
学生所在学院
指导教师
实验室名称地点
实验时间
实验名称:状态与策略模式案例
实验目的:状态与策略模式(ObserverPattern)是设计模式中行为模式的一种,它解决了上述具有一对多依赖关系的对象的重用问题。此模式的参与者分为两大类,一类是被观察的目标,另一类是观察该目标的观察者们。正因为该模式是基于“一对多”的关系,所以该模式一般是应用于由一个目标对象和N个观察者对象组成(当然也可以扩展为有多个目标对象,但我们现在只讨论前者)的场合。当目标对象的状态发生改变或做出某种行为时,正在观察该目标对象的观察者们将自动地、连锁地作出相应的响应行为。
通过本次实验了解观察者模式的原理。并能够运用观察者模式来进行编程。实验内容
UML类图
状态模式——汽车的变速档
策略模式-商场收银软件
程序的源代码
状态模式——汽车的变速档
publicabstractclassState{
publicvoidpull(Carwrapper){wrapper.setState(newOff());System.out.println(turningoff);
}
}
publicclassCar{privateStatecurrent;
publicCar(){
current=newOff();
System.out.println(新车生产出来了,现时空档);
}
publicvoidsetState(States){current=s;}publicvoidpull(){current.pull(this);}
}
classOffextendsState{
publicvoidpull(Carwrapper){wrapper.setState(newLow());System.out.println(挂低速);
}
}
classLowextendsState{
publicvoidpull(Carwrapper){wrapper.setState(newMedium());System.out.println(挂中速);
}
}
classMediumextendsState{publicvoidpull(Carwrapper){
wrapper.setState(newHigh());System.out.println(挂高速);
}
}
classHighextendsState{
publicvoidpull(Carwrapper){wrapper.setState(newOff());System.out.println(挂空档);
}
}
classclient{
publicstaticvoidmain(String[]args){
Carcar=newCar();car.pull();
car.pull();
car.pull();
car.pull();
}
}
策略模式-商场收银软件
packagePolicy;publicclassClient{
privateStringChoice;privatedoublePurchase;
publicClient(Stringchoice,doublepurchase){super();
Choice=choice;Purchase=purchase;
}
publicClient(Stringchoice){super();
Choice=choice;
}
publicdoublegetPurchase(){returnPurchase;
}
publicvoidsetPurchase(doublepurchase){Purchase=purchase;
}
publicStringgetChoice(){returnChoice;
}
publicvoidsetChoice(Stringchoice){Choice=choice;
}
}
packagePolicy;
publicabstractclassCashSuper{
publicabstractdoubleacceptableCash(doublemoney);
}
您可能关注的文档
- 装饰装修工程验收记录表.docx
- 装饰装修工程验收资料表格.docx
- 装饰装修工程质量监督档案.docx
- 装饰装修施工机械设备表.docx
- 装饰装修施工组织设计t分析.docx
- 装饰装修试验方案.docx
- 装饰装修专项施工方案.docx
- 装修工程木隔断墙施工工艺.docx
- 装修公司年度个人工作总结.docx
- 装修公司与物管公司合作协议.docx
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
最近下载
- 樊登老师推荐:《你就是孩子最好的玩具》(完整版).pdf
- 凯迪克金奖原版绘本Sylvester and the Magic Pebble.pdf
- 外廓尺寸检测系统作业指导书.docx
- 初中教科研课题:《初中语文主题阅读教学的实践探究》子课题结题报告 .pdf
- 初中物理《声现象》.ppt VIP
- 最新2023版知识产权贯标GBT29490表单 知识产权目标策划管理方案[知识产权合规管理体系文件].docx
- (2024版)AOPA无人机驾驶证认证考试题库-上部分(500题)(含答案).pdf VIP
- 《中国共产党简史》第四章 夺取新民主主义革命的全国性胜利.pptx VIP
- 医院创建优质服务基层行创建资料(3.4.3护理安全管理).docx VIP
- 初三家长会班主任的发言稿.doc VIP
文档评论(0)