




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
工厂模式总结1、 目的:把逻辑算法与界面实现分开,使程序更灵活、更易维护、更易扩展,从而减少代码量,出错率。2、 类图(实线:继承;虚线:依赖)3、 类使用继承关系,在父类里抽象出一个抽象方法(找出各个方法功能共同的地方)。这个方法很重要。1. namespace 商场收银工厂模式2. 3. / 4. / 抽象类-现金支付5. / 6. abstract class CashSuper7. 8. / 9. / 抽象方法-现金收取类10. / 11. / 现金12. / 应收的现金13. public abstract double acceptCash(double money);14. 15. 4、 子类实现时,继承的抽象方法要通过重写实现,不能修改抽象方法的参数。1. namespace 商场收银工厂模式2. 3. / 4. / 正常支付,继承类CashSuper5. / 6. class CashNormal:CashSuper7. 8. public override double acceptCash(double money)9. 10. return money;11. 12. 13. 14.15. namespace 商场收银工厂模式16. 17. / 18. / 打折类19. / 20. class CashRebate:CashSuper21. 22. private double moneyRebeat = 0d;23. 24. / 25. / 打折类构造函数26. / 27. / 打折数28. public CashRebate(string moneyRebeat)29. 30. this.moneyRebeat = double.Parse(moneyRebeat);31. 32.33. public override double acceptCash(double money)34. 35. return moneyRebeat * money;36. 37. 38. 39. namespace 商场收银工厂模式40. 41. / 42. / 满就送类,继承CashSuper43. / 44. class CashReturn:CashSuper45. 46. / 47. / 满就送-满足的条件48. / 49. private double moneyCondition = 0d;50. / 51. / 满就送-送的钱52. / 53. private double moneyReturn = 0d;54. / 55. / 满就送类构造函数56. / 57. / 满就送-满足的条件58. / 满就送-送的钱59. public CashReturn(string moneyCondition, string moneyReturn)60. 61. this.moneyCondition = double.Parse(moneyCondition);62. this.moneyReturn = double.Parse(moneyReturn);63. 64.65. public override double acceptCash(double money)66. 67. if (money = moneyCondition)68. 69. return money - moneyReturn;70. 71. return money;72. 73. 74. 5、 工厂模式在工厂类里使用的主要语句:switch-case。函数为静态,方便界面调用。1. class CashFactor2. 3. public static CashSuper createAcceptCash(string type)4. 5. CashSuper cs = null;6.7. switch (type)8. 9. case 正常收费:10. 11. cs = new CashNormal();12. break;13. 14. case 打8折:15. 16. cs = new CashRebate(0.8);17. break;18. 19. case 满300返100:20. 21. cs = new CashReturn(300,100);22. break;23. 24. 25.26. return cs;27. 28. 6、 主界面的调用,就调用工厂类。1. private void btSure_Click(object sender, EventArgs e)2. 3. CashSuper csuper = CashFactor.createAcceptCash(cmb.SelectedItem.ToString();4.5. double price=Convert.ToDouble(this.txtPrice.Text.Trim();6. double num=Convert.ToDouble(this.txtNum.Text.Trim();7. double money = csuper.acceptCash(price * num);8. total += money;9. string str = string.Fo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 爆破项目竞标方案范本
- 水管冬天施工方案设计
- 2025至2031年中国数字服伺主机行业投资前景及策略咨询研究报告
- 无锡商业职业技术学院《影视编剧》2023-2024学年第一学期期末试卷
- 2025至2031年中国强酸性洁剂行业投资前景及策略咨询研究报告
- 2025至2031年中国发动机皮带涨紧轮行业投资前景及策略咨询研究报告
- 2025装饰材料供应商购销合同范本
- 2025至2030年中国香辣鸡数据监测研究报告
- 2025至2030年中国重载工业连接器数据监测研究报告
- 2025至2030年中国皮艺礼盒数据监测研究报告
- 立体构成概述课件完整版
- 2021抑郁症基层诊疗指南(最终版)解读
- 沪教牛津版小学三至六年级英语单词表
- 采购谈判的技巧案例
- 二子女无财产无债务离婚协议书
- 公司董事会会议台账
- 西门子仿真数据与流程管理平台介绍
- 短视频:策划+拍摄+制作+运营课件(完整版)
- 专业税务顾问业务报告
- 2021-2022学年福建省厦门市第一中学高二下学期期中生物试题(原卷版)
- 学生宿舍楼建筑与结构设计毕业设计计算书
评论
0/150
提交评论