logo资料库

数据库课程设计之影院售票系统.ppt

第1页 / 共45页
第2页 / 共45页
第3页 / 共45页
第4页 / 共45页
第5页 / 共45页
第6页 / 共45页
第7页 / 共45页
第8页 / 共45页
资料共45页,剩余部分请下载后查看
影院售票系统 (MyCinema)
问题描述 ”青鸟影院”开始营业,需要一个售票系统: 使用XML和TreeView显示影院放映列表 使用泛型集合维护有继承关系的电影票对象 座位数可以在系统中指定 点击座位可购买不同类型的电影票 使用简单工厂模式创建不同类型的电影票 使用多态实现不同类型电影票的价格计算 使用接口实现电影票的打印 使用序列化和反序列化实现销售情况的保存和读取
系统主窗口:MainForm 问题分析-1
类关系 问题分析-2 父类可以创建 普通票
放映列表XML文件 问题分析-3 //省略其它电影... 功夫 gongfu.jpg 周星驰 周星驰 Action 60 8-00 9-45 10-00 11-45
打印的电影票样式 问题分析-4 *************************** 青鸟影院 --------------------------- 电影名:功夫 时间: 10-00 11-45 座位号:1-1 价格: 60 *************************** *************************** 青鸟影院 (赠票) --------------------------- 电影名:蜘蛛人3 时间: 16-00 17-45 座位号:5-6 姓名: 张三 *************************** *************************** 青鸟影院 (学生) --------------------------- 电影名:功夫 时间: 10-00 11-45 座位号:4-6 价格: 30 ***************************
几个重要类 Cinema类 座位集合 已售票集合 放映日程 … 难点分析-1 Schedule ScheduleItem 放映日程类 放映场次集合 获取放映列 表的方法 电影票类 所在座位 所属场次 … 放映场次类 放映时间 放映的电影 电影类 名称、海报等
使用简单工厂创建不同类型的电影票 难点分析-2 创建不同的子类产品 public static Ticket CreateTicket(ScheduleItem scheduleItem, Seat seat, int discount,string customerName, string type) { Ticket newTicket = null; switch (type) { case "student": newTicket = new StudentTicket(scheduleItem, seat, discount); break; case "free": newTicket = new FreeTicket(scheduleItem, seat, customerName); break; case "": newTicket = new Ticket(scheduleItem, seat); break; } return newTicket; } 返回父类类型
分享到:
收藏