软件设计模式实验3.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件设计模式实验3

实验三 策略模式 请用C++、Java、C#或VB.NET任意一种面向对象语言实现 一个商场收银软件,要求营业员根据客户购买商品单价和数量, 向客户收费。 参考伪代码: 商场收银系统v1.0关键伪代码如下: //声明一个double变量total来计算总计 double?total?=?0.0d; private?void?btnOk_Click(object?sender,? EventArgs?e) { double?totalPrices=Convert.ToDouble(txtPrice.Text)?*?Convert.ToDouble(txtNum.Text); total?=?total?+?totalPrices; ? lbxList.Items.Add(“单价:”+txtPrice.Text+“?数量: +txtNum.Text+?合计:+totalPrices.ToString()); ? lblResult.Text?=?total.ToString(); } 2、增加需求,可实现各种折扣的需求,如打5、6、7、8折扣等,系统如何变化?。 参考伪代码: double?total?=?0.0d; //总计 private?void?form1_Load(object?sender,?EventArgs?e) { cbxType.Items.Addrange(new object[] {“正常收费”, “8折”, “7折”}); cbxType.SelectedIndex=0; //初始化折扣下拉框 } private?void?btnOk_Click(object?sender,?EventArgs?e) { double?totalPrices=0d; switch(cbxType.SelectedIndex){ //根据选项决定打折额度 case 0: totalPrices=Convert.ToDouble(txtPrice.Text)?* ? Convert.ToDouble(txtNum.Text); break; case 1: totalPrices=Convert.ToDouble(txtPrice.Text)?* ? Convert.ToDouble(txtNum.Text)*0.8; break; case 2: totalPrices=Convert.ToDouble(txtPrice.Text)?* ? Convert.ToDouble(txtNum.Text)*0.7; break; } total?爐otal?爐otalPrices; ert.? lbxList.Items.Add(“单价:”+txtPrice.Text+“?数量: +txtNum.Text+?合计:+totalPrices.ToString()); ? lblResult.Text?=?total.ToString(); } 3、现在需求又增加了:商场的活动加大,需要有满300返100的促销算法,应该怎么办?所以必须学会抽象。面向对象的编程,并不是类越多越好,类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是类。简单工厂模式的实现如下。 参考伪代码: 现金收费抽象类(CashSuper) abstract class CashSuper{ public abstract double acceptCash(double money); } 正常收费子类(CashNormal) class CashNormal :CashSuper{ public override double acceptCash(double money){ return money;

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档