Очень хочется все элементы снеговика поместить в один массив. Сейчас это сделать нельзя - придётся делать три массива - для кругов, для линий, для боксиков... Решение гениальное - создаём базовый класс фигуры - Shape, создаём массив фигур, и все фигуры помещаем в этот массив! После размещения фигур в массив можно видеть, что каждая фигура в нём хранится не как фигура, а под своим типом. А все под одной крышей они могут находится потому что все они - фигуры, так как унаследованы от Shape.
Дата отправки отчёта:
5 февраля 2016 г.
Задание выполнено: за
15 мин.
Чему научился:
Составлять массив из разных объектов, понравилось
Что было сложным:
Ответить на вопрос.
Комментарии:
В ответ на вопрос сделал такой велосипед: switch(shape.GetType().ToString()) { case "Теория_ООП.Box": Draw((Box)shape); break; case "Теория_ООП.Circle": Draw((Circle)shape); break; case "Теория_ООП.Line": Draw((Line)shape); break; } И он работает :)
Я так и не додумался как, но можно попробовать в одну строчку сделать. Что-то типа такого, но VS не пропускает То есть берем shape приводим к типу объекта, какой в нем лежит и вызываем Draw под этот объект. Draw((shape.GetType())shape);