1 public abstract class Food 2 { 3 public abstract void Print(); 4 } 5 6 public class MeatFood :Food 7 { 8 public override void Print() 9 { 10 Console.WriteLine("Meat food"); 11 } 12 } 13 14 public class VegetableFood : Food 15 { 16 public override void Print() 17 { 18 Console.WriteLine("Vegetable food"); 19 } 20 } 21 22 public class FoodFactory 23 { 24 public static Food getFood(string str) 25 { 26 if (str == "Meat") 27 return new MeatFood(); 28 else if (str == "Vegetable") 29 return new VegetableFood(); 30 else 31 return null; 32 } 33 } 34 35 static void Main(string[] args) 36 { 37 Food food = FoodFactory.getFood("Meat"); 38 food.Print(); 39 food = FoodFactory.getFood("Vegetable"); 40 food.Print(); 41 Console.ReadLine(); 42 }
原文:http://www.cnblogs.com/foreverApril/p/5050552.html