青鸟影院的最后一部分
//ScheduleItem.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 青鸟影院
{
[Serializable]
/// <summary>
/// 放映场次
/// </summary>
public class ScheduleItem
{
public ScheduleItem() { }
public ScheduleItem(Movie movie,string time)
{
this.Movie = movie;
this.Time = time;
}
//电影
public Movie Movie { get; set; }
//放映时间
public string Time { get; set; }
}
}
//Seat.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;
namespace 青鸟影院
{
[Serializable]
/// <summary>
/// 座位类
/// </summary>
public class Seat
{
public Seat() { }
public Seat(string seatNum,Color color)
{
this.SeatNum = seatNum;
this.Color = color;
}
//座位号
public string SeatNum { get; set; }
//颜色
public Color Color { get; set; }
}
}
//StudentTicket.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace 青鸟影院
{
[Serializable]
/// <summary>
/// 学生票
/// </summary>
public class StudentTicket:Ticket
{
public StudentTicket() { }
public StudentTicket(ScheduleItem scheduleItem,Seat seat,double discount):base(scheduleItem,seat)
{
this.Discount = discount;
this.Price = CalcPrice();
}
//折扣
public double Discount { get; set; }
/// <summary>
/// 计算学生票价格
/// </summary>
/// <returns></returns>
public override double CalcPrice()
{
return this.ScheduleItem.Movie.Price * this.Discount /10;
}
/// <summary>
/// 打印学生票
/// </summary>
public override void Print()
{
string path = (this.ScheduleItem.Time + " " + this.Seat.SeatNum).Replace(":", "-") + ".txt";
using (FileStream fs = new FileStream(path, FileMode.Create))
{
using (StreamWriter sw = new StreamWriter(fs, Encoding.Default))
{
sw.WriteLine("*******************************");
sw.WriteLine(" 青鸟影院(学生票) ");
sw.WriteLine("-------------------------------");
sw.WriteLine("电影名:" + ScheduleItem.Movie.MovieName);
sw.WriteLine("时间:" + this.ScheduleItem.Time);
sw.WriteLine("座位号:" + this.Seat.SeatNum);
sw.WriteLine("折扣:"+this.Discount);
sw.WriteLine("价格:" + this.Price);
sw.WriteLine("*******************************");
}
}
}
}
}
//Ticket.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace 青鸟影院
{
[Serializable]
/// <summary>
/// 电影票父类
/// </summary>
public class Ticket
{
public Ticket() { }
public Ticket(ScheduleItem scheduleItem,Seat seat)
{
this.ScheduleItem = scheduleItem;
this.Seat = seat;
this.Price = CalcPrice();
}
//价格
public double Price { get; set; }
//放映场次
public ScheduleItem ScheduleItem { get; set; }
//座位
public Seat Seat { get; set; }
/// <summary>
/// 计算价格
/// </summary>
/// <returns></returns>
public virtual double CalcPrice()
{
return this.ScheduleItem.Movie.Price;
}
/// <summary>
/// 打印电影票
/// </summary>
public virtual void Print()
{
string path = (this.ScheduleItem.Time + " " + this.Seat.SeatNum).Replace(":", "-") + ".txt";
using (FileStream fs = new FileStream(path,FileMode.Create))
{
using (StreamWriter sw = new StreamWriter(fs,Encoding.Default))
{
sw.WriteLine("*******************************");
sw.WriteLine(" 青鸟影院 ");
sw.WriteLine("-------------------------------");
sw.WriteLine("电影名:"+ScheduleItem.Movie.MovieName);
sw.WriteLine("时间:"+this.ScheduleItem.Time);
sw.WriteLine("座位号:"+this.Seat.SeatNum);
sw.WriteLine("价格:"+this.Price);
sw.WriteLine("*******************************");
}
}
}
}
}
//TicketUtil.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 青鸟影院
{
/// <summary>
/// 创建电影票工具类
/// 使用简单工厂模式创建票
/// </summary>
public class TicketUtil
{
public static Ticket CreateTicket(ScheduleItem item,Seat seat,string customerName,double discount,string type)
{
Ticket ticket = null;
switch (type)
{
case "normal":
ticket = new Ticket(item, seat);
break;
case "free":
ticket = new FreeTicket(customerName, item, seat);
break;
case "student":
ticket = new StudentTicket(item, seat, discount);
break;
}
return ticket;
}
}
}
青鸟影院的最后一部分相关推荐
- 万条票房数据看2019春节档各地影院表现(附源码)
点击上方 蓝色文字,选择置顶或星标 第一时间关注 Python 技术干货! 阅读文本大概需要 5 分钟. 今年春节档全国共有8部影片上映,对于影片的对比分析已经非常多,孰优孰劣,每个人心里都有一杆秤, ...
- 10193 条票房数据告诉你《流浪地球》领跑的电影档战果如何?
作者 | 量化小白H 责编 | 郭芮 如何挑战百万年薪的人工智能! https://edu.csdn.net/topic/ai30?utm_source=csdn_bw 2019年的春节档已经过去了一 ...
- 【ASP.NET北大青鸟】-总结(二)
上次博客知识简单的整理了一下ASP.NET的大体框架知识,通过后半部分视频的边学习边实践,对ASP.NET有了更深的理解.这次将更详细的总结对ASP.NET收获. [是什么] ASP.NET是.NET ...
- 喜报 | 大地影院集团签约神策数据,影院 + 数据化高光时刻开启
近日,大地影院集团签约神策数据,未来神策数据将以第三方数据分析平台的形式助力大地影院集团,进一步加快影院产品和服务的创新与突破. 大地影院集团成立于 2006 年,是国内排名第二位的影院管理投资公司, ...
- java自动往数据库里插shuaku_x大x鸟的青鸟云课堂自动答题实现原理
本帖最后由 zhimengya 于 2019-6-16 13:53 编辑 本教程仅供参考学习,如果有违规请管理大大及时删除!!! 我是"x大x鸟"的学员 快毕业了正头疼找工作的事情 ...
- SSM实现的影院订票系统-JAVA【数据库设计、源码、开题报告】
1绪论 1.1项目开发背景及意义 随着互联网和电子商务的快速发展,网上购物已经成为了现代人生活的一种方式.如今,淘宝.天猫.京东商城.当当网.聚美优品等一系列的电子商务网站更是把网上购物推向了这个时代 ...
- 基于javafx和mysql的C/S版影院管理系统
一年一度的软工课设再过两天就要结束了,在这里做一点总结. 感觉今年软工课设用上数据库之后确实相对于大一面向过程的c语言方便了不少.所以今年课设相对于大一比较简单,所以我大概提前一周就将整个项目完成了. ...
- springboot影院售票小程序毕业设计-附源码201532
摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确 ...
- springboot影院售票小程序毕业设计源码111154
摘 要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确 ...
- 我在北大青鸟的工作经历
我在北大青鸟的经历[原创] 我在北大青鸟的工作经历 说明: 1.由于不熟悉这里的发帖规则,所有的图片放在文章后面发.见谅! 2.本人非计算机.非工科专业,06年硕士毕业,08年2-3月底在北大青鸟总部 ...
最新文章
- Python找出序列中出现最多的元素
- seaborn使用violinplot函数可视化小提琴图、并在violinplot函数中设置inner参数来添加横线(inner=“stick“)显示数据的稠密程度
- 生产系统支撑终端故障处理的三个误区
- pandas如何保存在excel里面_【精选】Pandas一站式教程!
- bootstrap3中模态框的数据编辑使用方法
- RocketMq Consumer 最佳实践
- SQl 作业方面(转)
- org.springframework.uti包下的StringUtils的使用和org.apache.commons.lang包下StringUtils的使用
- 前端学习(3157):react-hello-react之一个简单的helloworld
- 史上最简单的SpringCloud教程 | 第四篇:断路器(Hystrix)--里面有BUG,所以我转载改一下
- 苹果2021年WWDC大会可能继续采用线上方式举办
- linux系统下部署go语言环境
- 问题六十一:三次b样条(b-spline)曲线的控制点和曲线形状的对应——以回旋体的“基本曲线”为例(2)
- revit建筑样板_BIM技术在历史保护建筑中的具体应用(艾三维BIM分享)
- Java图形组件 OpenSwing
- 通用接口开放平台设计与实现——(1)开篇
- 【电路设计】Altium Designer 20 PCB设计
- 图像修复 : ICCV 2021 基于条件纹理和结构并行生成的图像修复【翻译】
- Spring基础笔记
- 在当当和亚马逊中搜书并输出最低价格
热门文章
- 超好用的文件转换神器!拿走不谢~
- c语言程序设计身高体重测评系统,C语言程序设计验.doc
- 产品设计必备干货:产品开发流程[完整版]
- BTC:关键阻力的突破会带来持续的积极情绪
- UbuntuSkills
- centos是什么linux操作系统,Linux 操作系统之CentOS的介绍
- MATLAB —— 低通滤波器设计与信号滤波
- 生产系统仿真软件,实现数字化工厂的利器!
- 锐捷自动定时启动,开机自动认证校园网 教程
- spring mvc 4.3.2 + mybatis 3.4.1 + mysql 5.7.14 +shiro 幼儿园收费系统 之 消息管理