예제 #1
0
        //打折方式 。根据用户输入,获得一个打折对象。选择打折对象,返回父类对象,但是里面装的是子类对象(屏蔽差异性)
        public CalFather GetCal(string input)
        {
            CalFather cal = null;

            switch (input)
            {
            case "1":
                cal = new CalNormal();
                break;

            case "2":
                cal = new CalRate(0.9);
                break;

            case "3":
                cal = new CalRate(0.85);
                break;

            case "4":
                cal = new CalMN(300, 50);
                break;

            case "5":
                cal = new CalMN(500, 100);
                break;
            }
            return(cal);
        }
예제 #2
0
        //需要买什么东西
        public void AskBuying()
        {
            Console.WriteLine("请问您要什么东西?");
            string strType = Console.ReadLine();

            if (strType != "Acer" && strType != "SumSung" && strType != "JiangYou" && strType != "Banana")
            {
                Console.WriteLine("我们商店没有这种商品!");
            }
            else
            {
                Console.WriteLine("需要多少");
                int count = Convert.ToInt32(Console.ReadLine());
                //取货物
                ProductFather[] pros = ck.QuPros(strType, count);
                //下面该就算价钱了
                double realMoney = GetMoney(pros);
                Console.WriteLine("您总共应该付款{0}元", realMoney);
                Console.WriteLine("请选择您的打折方式1--不打折,2--打9折,3-85折,4--满300减50,满500减100");
                string input = Console.ReadLine();
                //根据用户输入,获得一个打折对象。
                CalFather cal        = GetCal(input);
                double    totalMoney = cal.GetToatalMoney(realMoney);
                Console.WriteLine("打完折,您应该付款{0}元", totalMoney);
            }
        }