На этом уроке мы создадим новый класс - Sprite, в котором будет хранится список всех фигур, из которых строится графический объект, чтобы в основной программе мы могли оперировать сразу спрайтами, а не их составными элементами.
Дата отправки отчёта:
14 октября 2015 г.
Задание выполнено: за
1 час. 15 мин.
Чему научился:
Полиморфизм во всей красе, перегружаю методы, сделали удобный класс Sprite куда начали инкапсулировать многое относящееся к снеговикам, потихоньку разгружая класс формы.
Что было сложным:
Поковырялся, пока не сообразил, что сначала надо установить Graph объекту Shape а только потом его добавить в коллекцию, а не наоборот.
Комментарии:
Не очень ясно, зачем нам при создании нового спрайта SnowMan2 = new Sprite(); задавать graph SnowMan2.SetGraph(graph); ведь фактически мы отдельно задаем один и тот же graph для каждого shape отдельно (в методе AddShape и этого должно быть вполне достаточно для рисования (однако при попытке пропустить SnowMan2.SetGraph(graph)) программа перестает компилироваться
Научился: пример класса: при первичной инициализации пустой список, с возможностью добавления элементов Трудности: с методом SetGraphic подзапутался, в каких местах вызывать... все ок
Научился: 1. Объект класса List<> - коллекция, он же список с изначально неопределенным количеством элементов в нем;
2. Foreach - ключевое слово переключения/перехода по элементам коллекции;
3. Перегрузка Draw() в коллекции.