Очень хочется все элементы снеговика поместить в один массив. Сейчас это сделать нельзя - придётся делать три массива - для кругов, для линий, для боксиков... Решение гениальное - создаём базовый класс фигуры - Shape, создаём массив фигур, и все фигуры помещаем в этот массив! После размещения фигур в массив можно видеть, что каждая фигура в нём хранится не как фигура, а под своим типом. А все под одной крышей они могут находится потому что все они - фигуры, так как унаследованы от Shape.
Дата отправки отчёта:
19 февраля 2019 г.
Задание выполнено: за
12 час. 14 мин.
Чему научился:
Первый способ реализации функции Draw(); (в лоб) думаю такой: void Draw(Shape sh) { if (sh is Line) Draw((Line)sh); if (sh is Box) Draw((Box)sh); if (sh is Circle) Draw((Circle)sh); if (sh is ColorLine) Draw((ColorLine)sh); if (sh is ColorBox) Draw((ColorBox)sh); if (sh is ColorCircle) Draw((ColorCircle)sh); } Работает, но не элегантно. Думал на счет делегатов, в делегат записать все методы Draw))) Кажется плохое решение) Пока не знаю. Может быть на за счет интерфейсов.
Что было сложным:
Придумать реализацию.
Оценка видео-уроку:
Оцени работу
Сохранить страницу:
Отчёт оценивали: 3922. Александр+16203. Николай Миролюбов+120111. Deep Network+1791. Валерий Жданов+19752. chokayes+117947. Dmitry Sinitsin+118131. Александр+120619. Артём Нагорный+120659. no name+114981. DimanDOS+113417. Chip+18275. Tekashnik+1
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.