博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单工厂模式-2015-1-7
阅读量:5245 次
发布时间:2019-06-14

本文共 3160 字,大约阅读时间需要 10 分钟。

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{    class Program    {        static void Main(string[] args)        {            ACompany item = CompanyFactory.CreateCompany(EnumCompany.Car);            if (item == null)                Console.WriteLine("null");            else            {                item.Open();                item.Close();            }            Console.WriteLine("****************************************");            item = CompanyFactory.CreateCompany(EnumCompany.Car);            if (item == null)                Console.WriteLine("null");            else            {                item.Open();                item.Close();            }                       Console.ReadKey();        }    }    enum EnumCompany    {        Car=0,        Boat=1,        Shoat=2,        Food=3,    }    class CompanyFactory    {        public static ACompany CreateCompany(EnumCompany item)        {            ACompany company = null;            switch (item)            {                case EnumCompany.Car: company= new Car(); break;                case EnumCompany.Boat: company= new Boat(); break;            }            return company;        }    }    interface ICompany    {        bool Open();        bool Close();    }    abstract class ACompany : ICompany    {        public int Count = 0;        public static int Flag = 0;        public abstract bool Open();        public abstract bool Close();        public void Test()        {        }        public abstract void Method();    }    class Car:ACompany    {        public override void Method()        {            Console.WriteLine(this.ToString());                    }        public override bool Open()        {            Console.WriteLine(this.ToString());                        Count++;            Flag++;            Console.WriteLine("Count:{0}", Count);            Console.WriteLine("Flag:{0}", Flag);            return true;        }        public override bool Close()        {            Console.WriteLine(this.ToString());            Count++;            Flag++;            Console.WriteLine("Count:{0}", Count);            Console.WriteLine("Flag:{0}", Flag);            return true;        }    }    class Boat : ACompany    {        public override bool Open()        {            Console.WriteLine(this.ToString());            return true;        }        public override bool Close()        {            Console.WriteLine(this.ToString());            return true;        }        public override void Method()        {            Console.WriteLine(this.ToString());        }    }    }

  

/*             * 输出结果            ConsoleApplication1.Car            Count:1            Flag:1            ConsoleApplication1.Car            Count:2            Flag:2            ****************************************            ConsoleApplication1.Car            Count:1            Flag:3            ConsoleApplication1.Car            Count:2            Flag:4             *              */

  

这篇文章简单罗列了在项目开发中用到的类、接口、抽象类,三者组合在一起构成了简单的工厂模式

转载于:https://www.cnblogs.com/jzblogs/p/4207575.html

你可能感兴趣的文章
Spring-hibernate整合
查看>>
c++ map
查看>>
exit和return的区别
查看>>
Django 相关
查看>>
git init
查看>>
训练记录
查看>>
IList和DataSet性能差别 转自 http://blog.csdn.net/ilovemsdn/article/details/2954335
查看>>
Hive教程(1)
查看>>
第16周总结
查看>>
C#编程时应注意的性能处理
查看>>
比较安全的获取站点更目录
查看>>
苹果开发者账号那些事儿(二)
查看>>
使用C#交互快速生成代码!
查看>>
UVA11374 Airport Express
查看>>
P1373 小a和uim之大逃离 四维dp,维护差值
查看>>
NOIP2015 运输计划 树上差分+树剖
查看>>
P3950 部落冲突 树链剖分
查看>>
读书汇总贴
查看>>
微信小程序 movable-view组件应用:可拖动悬浮框_返回首页
查看>>
MPT树详解
查看>>