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(); }
/// <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(); }