先分析项目:我们需要的效果是要怎么样的,下面我们就来分析一下。
1.电影项目需要有什么?
a-显示电影信息
---显示今天上映的电影名字
---显示今天上映电影相对性的播出时间
---显示今天上映电影的票价
b-显示座位信息
---根据电影的名称,时段来显示座位
c-业务操作过程
---先把电影显示出来,选择想要看的电影
---然后选择对应的时间
---最后票的类型
---把结果打印出来
---不想用可以关闭
d-打印出电影票
---交个用户
2.项目对应的实际操作
---创建数据,我们用XML文件代替数据库:存放电影的信息。movie.xml
---找实体,数据库表对应的就是实体。xml对应的是Movie找出电影的属性
---创建相关类存放,电影属性。我们可以创建一个枚举类来存放不可改变的属性,如MovieType
---从数据库中把数据信息取出来。我们则把XML解析出来,在把信息封装成Movie对象
(但每一部电影都有好几场,不能直接封装成Movie对象,那么我们需要创建一个集合来存放Item信息
创建Schedule类。添加解析的方法loadItems(),并将dom4j的jar导入 )
---电影院属于比较复杂的场所,所以要建立管理类,来管理日程,座位等信息。
---创建座位的类,里面添加座位号成员,在Cinema类中添加初始化座位的方法
---开始显示操作菜单,并选择电影,根据电影和场次查找电影的信息,需要在Schedule类中添加查找的方法。
---创建电影票类Ticket,在cinema类中添加一个集合用于保存售出的电影票。
---选择电影票的类型,该有的参数通过静态工厂方法去创建不同的电影票,创建生产电影票的打印机
---工厂方法中要生产出不同类型的票,创建电影票的子类。
---.把卖出去的票保存到cinema类中集合中.
---打印电影票,是票的行为,所以在电影票中添加方法,print
---售票成功,将卖出去的票进行序列化保存。在cinema类中添加序列化的方法
---前面选择继续购票,就要加载票的信息,要饭序列化,在cinema类中添加反序列化的方法
思路大概就这样了。
项目布局: