首页 > 代码库 > 简单工厂模式-2015-1-7
简单工厂模式-2015-1-7
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 * */
<div>这篇文章简单罗列了在项目开发中用到的类、接口、抽象类,三者组合在一起构成了简单的工厂模式</div>
简单工厂模式-2015-1-7
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。