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

       }    

    }

  • 相关阅读:
    Python基础笔记:线程与进程
    Python爬虫笔记:爬取豆瓣图书TOP250单页数据
    Python爬虫笔记:爬取单个页面
    【转】WCHAR,CHAR,TCHAR的区别
    CString转换为LPSTR和LPSTR转化为CString
    关于反射调用方法的一个log
    Java框架的思考
    Java中反射性能测试
    oracle extend
    ubuntu maven环境安装配置
  • 原文地址:https://www.cnblogs.com/yfyfyff/p/7286621.html
Copyright © 2011-2022 走看看