zoukankan      html  css  js  c++  java
  • 简单工厂模式(详细)(举例饮料)

    饮料案例:

    饮料类(父类):


        public class Drink
        {
            //虚方法
            public virtual void Driking() {
            }
        }

    可乐类(继承父类饮料类)


        public class Cola:Drink
        {
            //重写父类的Driking()方法
            public override void Driking()
            {
                Console.WriteLine("Cola");
            }
        }

    雪碧类(继承父类饮料类)


        public class Sprite:Drink
        {
            //重写父类的Driking()方法
            public override void Driking()
            {
                Console.WriteLine("Sprite");
            }
        }

    饮料工厂类(factory)


        class DrinkFactory
        {
            public static Drink Init(string type) {
                Drink drink = null;
                switch(type){
                    case "可乐":
                        drink = new Cola();
                        break;
                    case "雪碧":
                        drink = new Sprite();
                        break;
                }
                return drink;
            }
        }

    Main方法

      class Program     {      

       static void Main(string[] args)         {       

          Console.WriteLine("请输入你要喝的饮料");        

         string type=Console.ReadLine();        

         Drink drink=DrinkFactory.Init(type);      

           drink.Driking();

         Console.ReadKey();      

       }    

    }

  • 相关阅读:
    HDU4565
    CF861D
    UVA 11651
    HDU5950
    POJ3267
    POJ1094
    POJ1905
    HDU3567
    进程的同步与互斥
    预防死锁,检测死锁,避免死锁,解除死锁....
  • 原文地址:https://www.cnblogs.com/yfyfyff/p/7286621.html
Copyright © 2011-2022 走看看