Example #1
0
        public static Shaped CreateShape(string shaped)
        {
            Shaped shap = null;

            switch (shaped)
            {
            case "circle":
                Console.WriteLine("请输入圆的半径");
                double Rad = Convert.ToDouble(Console.ReadLine());
                shap = new Circle(Rad);
                break;

            case "rectangular":
                Console.WriteLine("请输入矩形的长和宽");
                double Len = Convert.ToDouble(Console.ReadLine());
                double Wid = Convert.ToDouble(Console.ReadLine());
                shap = new Rectangular(Len, Wid);
                break;

            case "triangle":
                Console.WriteLine("请输入三角形的三边长");
                double Ed1 = Convert.ToDouble(Console.ReadLine());
                double Ed2 = Convert.ToDouble(Console.ReadLine());
                double Ed3 = Convert.ToDouble(Console.ReadLine());
                shap = new Triangle(Ed1, Ed2, Ed3);
                break;

            case "square":
                Console.WriteLine("请输入正方形的边长");
                double Ed0 = Convert.ToDouble(Console.ReadLine());
                shap = new Square(Ed0);
                break;
            }
            return(shap);
        }
Example #2
0
 static void Main(string[] args)
 {
     string[] shapefactory = new string[4];
     shapefactory[0] = "circle";
     shapefactory[1] = "rectangular";
     shapefactory[2] = "triangle";
     shapefactory[3] = "square";
     foreach (string SF in shapefactory)
     {
         Shaped shaped = ShapeFactory.CreateShape(SF);
         Console.WriteLine("shaped Area is {0}", shaped.GetArea());
     }
 }