На этом уроке мы начнём переносить функции для рисования фигур из основной программы в классы.
Дата отправки отчёта:
15 мая 2017 г.
Задание выполнено: за
30 мин.
Чему научился:
Переносить конкретные реализации функции draw в свой класс для фигуры.
Что было сложным:
Понимание всех этих правильных приведений типов, чтобы нигде ничего не пропустить, а то бывает ошибка вылазит там, где ее нет, т.к. в другом месте что-то не так сделал.
Комментарии:
Наконец-то началась оптимизация и раскладываний методов по полочкам. Раньше была неразбериха из-за одинаковых названий переменных в основном файле form1.cs, которые пересекались с внутренними переменными классов. Я-то знаю, что все должно быть внутри класса и показывать, что оно относится только к нему, что собственно и есть инкапсуляция.
Сейчас код методов стал уходить из главного файла в конкретный файл отдельного примитива, но имеет одинаковый метод для рисования и без параметров, что очень важно.
Научился: Добавил в класс Circle метод Draw(). Добавил в класс Circle поля graph и pen. Создал инициализаторы этих полей SetGraphics() и SetPen(). Убрал из основной программы метод Draw (Circle circle). Изменил метод Draw(Shape shape) для вызова Circle.Draw(). Трудности: Уследить за модернизацией кода. Чуть отвлёкся и "накосячил". Минут двадцать искал ошибку.
Научился: Пытаемся освободить базовый класс от лишнего кода, распихивая его по соответствующим классам. Трудности: Сложность только в новизне материала. Все отлично.