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();      

       }    

    }

  • 相关阅读:
    [剑指Offer] 从尾到头打印链表
    [剑指Offer] 替换空格
    [剑指Offer] 二维数组中的查找
    [LeetCode] 53. Maximum Subarray
    [LeetCode] 283. Move Zeroes
    haproxy + rabbitmq + keepalived的高可用环境搭建
    iis7下站点日志默认位置
    在vs2012中配置使用iisexpress
    tomcat配置域名,单项目指定多域名
    httpget和post
  • 原文地址:https://www.cnblogs.com/yfyfyff/p/7286621.html
Copyright © 2011-2022 走看看