vs2005+C#+.net 2.0 using System;using System.Collections.Generic;using System.Text;namespace SFP...{ public abstract class EFT ...{ public abstract void processs(); } public class VirtualCheck : EFT ...{ public override void processs() ...{ Console.WriteLine("VirtualCheck is processing!"); } } public class MasterCard:EFT ...{ public override void processs() ...{ Console.WriteLine("MasterCard is processing!"); } } public class EFTFactory ...{ public EFT createEFT(string type) ...{ switch (type.ToLower()) ...{ case "virtualcheck": return new VirtualCheck(); case "mastercard": return new MasterCard(); default: return null; } } } class Client ...{ static void Main(string[] args) ...{ EFT eft; EFTFactory eftFactory = new EFTFactory(); eft = eftFactory.createEFT("VirtualCheck"); eft.processs(); eft = eftFactory.createEFT("MasterCard"); eft.processs(); Console.ReadLine(); } }}