- 1 internal class Program
- 2 {
- 3 private static void Main(string[] args)
- 4 {
- 5 new OrderPizza();
- 6 }
- 7 }
- 8
- 9 internal class OrderPizza
- 10 {
- 11 public OrderPizza()
- 12 {
- 13 Pizza pizza = null;
- 14 string orderType = "";
- 15 do
- 16 {
- 17 orderType = Console.ReadLine();
- 18 if (orderType == "cheese")
- 19 {
- 20 pizza = new CheesePizza();
- 21 pizza.setName("芝士披萨");
- 22 }
- 23 else if (orderType == "greek")
- 24 {
- 25 pizza = new GreekPizza();
- 26 pizza.setName("希腊披萨");
- 27 }
- 28 else
- 29 {
- 30 Console.WriteLine("订购失败");
- 31 break;
- 32 }
- 33 //开始制作
- 34 pizza.prepare();
- 35 pizza.bake();
- 36 pizza.cut();
- 37 pizza.box();
- 38 } while (true);
- 39 }
- 40 }
- 41
- 42 internal abstract class Pizza
- 43 {
- 44 private string name;
- 45
- 46 public abstract void prepare();
- 47
- 48 public void bake()
- 49 {
- 50 Console.WriteLine($"{this.name} 烘培");
- 51 }
- 52
- 53 public void cut()
- 54 {
- 55 Console.WriteLine($"{this.name} 修剪");
- 56 }
- 57
- 58 public void box()
- 59 {
- 60 Console.WriteLine($"{this.name} 打包");
- 61 }
- 62
- 63 public void setName(string name)
- 64 {
- 65 this.name = name;
- 66 }
- 67 }
- 68
- 69 internal class CheesePizza : Pizza
- 70 {
- 71 public override void prepare()
- 72 {
- 73 Console.WriteLine("芝士披萨准备中");
- 74 }
- 75 }
- 76
- 77 internal class GreekPizza : Pizza
- 78 {
- 79 public override void prepare()
- 80 {
- 81 Console.WriteLine("希腊披萨准备中");
- 82 }
- 83 }