На этом уроке мы создадим новый класс - Sprite, в котором будет хранится список всех фигур, из которых строится графический объект, чтобы в основной программе мы могли оперировать сразу спрайтами, а не их составными элементами.
Дата отправки отчёта:
2 января 2018 г.
Задание выполнено: за
37 мин.
Чему научился:
Узнал про коллекцию List.
Что было сложным:
Плохо понимаю разницу между "List<Shape> shapes" и "List<Shape> shapes = new List<Shape>()" ?? В первом случае при попытке вызвать значение shapes - получится ошибка, потому что переменная shapes не проинициализированна. Во втором случае - выведется лишь название типа переменной shapes. И в чем разница в обоих случаях, если значение переменной shapes в обоих сучаях равно null ?
Все правильно shapes и так объявлена в классе, ты ее просто инициализируешь в конструкторе. А если ты делаешь List<Shape> shapes = new List<Shape>() - то переменная становится локальной - присваивает значения и после выхода из локальной области вступают в силу переменные класса - они глобальные и они равны null. Так что достаточно shapes = new List<Shape>() - переменная shapes и так объявлена в классе.
Научился: пример класса: при первичной инициализации пустой список, с возможностью добавления элементов Трудности: с методом SetGraphic подзапутался, в каких местах вызывать... все ок
Научился: 1. Объект класса List<> - коллекция, он же список с изначально неопределенным количеством элементов в нем;
2. Foreach - ключевое слово переключения/перехода по элементам коллекции;
3. Перегрузка Draw() в коллекции.