static void Main(string[] args) { Rectangle r = new Rectangle(10, 20, 240, 560); Console.WriteLine(r.draw()); r.X = 22; r.Height = 236; Console.WriteLine(r.draw()); Circle c = new Circle(10, 20, 24); Console.WriteLine(c.draw()); c.X = 22; c.R = 11; Console.WriteLine(c.draw()); Console.WriteLine(); List<Shape> s = new List<Shape>(); s.Add(r); s.Add(c); for (int i = 0; i < s.Count; ++i) { Console.WriteLine(s[i].draw()); // polymorphic } Console.ReadKey(); }
static void Main(string[] args) { try { Circle krug = new Circle(3, ConsoleColor.Red); IFigure kvadrat = new ForSquare(5); Figures f = new Figures(krug, kvadrat,new Circle(6),new ForSquare(4)); Console.WriteLine("Foreach"); foreach (IFigure ff in f) ff.ShowInfo(); Console.WriteLine("Foreach через один"); foreach (IFigure ff in f.ByTwo()) ff.ShowInfo(); Console.WriteLine("Foreach в обратном порядке"); foreach (IFigure ff in f.Back()) ff.ShowInfo(); Console.WriteLine("For"); for (int i = 0; i < f.Count; i++) f[i].ShowInfo(); f.Sort(); Console.WriteLine(); for (int i = 0; i < f.Count; i++) f[i].ShowInfo(); f.Sort(new ComparerByType()); Console.WriteLine(); for (int i = 0; i < f.Count; i++) f[i].ShowInfo(); } catch(ArgumentException e) { Console.WriteLine(e.Message); } Console.ReadKey(); }
/// <summary> /// Точка входа /// </summary> /// <param name="args"></param> static void Main(string[] args) { //Массив ссылок Figure[] Fig = new Figure[6]; //заполнение массива ссылками на объекты поизводных классов Fig[0] = new Circle(7); Fig[1] = new Circle(2, 3, 2); Fig[2] = new Rectangle(); Fig[3] = new Rectangle(2, 3, 10, 11); Fig[4] = new Triangle(); Fig[5] = new Triangle(1, 1, -2, 4, -2, -2); //Сортируем Array.Sort(Fig); //Пока не весь массив заполнен ссылками, ловим исключение пустой ссылки try { //Для каждого объекта foreach (Figure item in Fig) { //вызываем метод Show item.Show(); } } //ловим исключение catch (Exception e) { //выводим текст исключения Console.WriteLine(e.Message); } //Задерживаем консоль при отладке Console.ReadKey(); }