ticketfactory.cs

来自「北大青鸟ACCP课程S2项目案例2影院售票系统」· CS 代码 · 共 41 行

CS
41
字号
using System;
using System.Collections.Generic;
using System.Text;

namespace CinemaTicket
{
    /// <summary>
    /// 简单工厂,判断创建不同的电影票对象
    /// </summary>
    class TicketFactory
    {
        
        public int ticketOOP(ScheduleItem sdi, Seat seat, int discount, string customerName,string type,Cinema cinema)
        {
            Ticket tt = null;
            
            //判断票务类型,分别创建对象
            switch (type)
            {
                case "学生票":
                    tt = new StudentTicket(sdi, seat, discount);
                    cinema.SoldTickets.Add(tt);
                    break;
                case "普通票":
                    tt = new Ticket(sdi, seat);
                    cinema.SoldTickets.Add(tt);
                    break;
                case "赠票":
                    tt = new FreeTicket(sdi, seat, customerName);
                    cinema.SoldTickets.Add(tt);
                    break;
            }
            //执行计算价格及打印方法
            tt.CalcPrice();
            tt.Print();
            return tt.Price;

        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?