예제 #1
0
            static void Main(string[] args)
            {
                Fabric         fabric     = new Fabric();
                List <IFigure> figureList = new List <IFigure>();

                for (var i = 0; i < 3; i++)
                {
                    figureList.Add(fabric.CreateFigure(i));
                    figureList.Add(fabric.CreateFigure(i, i + 2, i * 2));
                }
                ;

                foreach (IFigure figure in figureList)
                {
                    Console.WriteLine(figure.ToString());
                    Console.WriteLine(figure.GetPerimeter());
                    Console.WriteLine(figure.GetSquare());
                    if (figure is Triangle triangle)
                    {
                        if (triangle.IsRectangular())
                        {
                            Console.WriteLine("треугольник - прямоугольный!");
                        }
                    }
                    Console.WriteLine("---------");
                }
                ;
            }
예제 #2
0
        /// <summary>
        /// Метод, определяет тип фигуры и возвращает площадь
        /// </summary>
        /// <param name="name">название фигуры</param>
        /// <param name="args">параметры фигуры</param>
        /// <returns>Площадь фигуры</returns>
        public static double CalculateSquare(string name = "", params double[] args)
        {
            switch (name.ToLower())
            {
            case "окружность":
            {
                IFigure circle = new Fabric().CreateFigure(args[0]);
                return(circle.GetSquare());
            }

            case "треугольник":
            {
                IFigure triangle = new Fabric().CreateFigure(args[0], args[1], args[2]);
                return(triangle.GetSquare());
            }

            default:
            {
                IFigure figure = new Fabric().CreateFigure(args);
                return(figure.GetSquare());
            }
            }
        }