На этом уроке мы реализуем метод Draw (Shape shape) через серию условных операторов. А также создадим функцию для рисования целевого спрайта (снеговика) - Draw (Shape [] shapes). Результат работы программы не изменяется, а вот содержимое кода всё более и более облагораживается.
Дата отправки отчёта:
21 ноября 2015 г.
Задание выполнено: за
3 час. 00 мин.
Чему научился:
Узнал что класс Object является исходным базовым классом для всех классов. Увидел как пользоваться приведением типов. Познакомился с методом GetType() базового класса Object. Узнал как работает оператор typeof. Переменная Shape.position которую мы опишем в классе Shape и дадим ей тип Pixel будет задавать координаты базовой точки.
Что было сложным:
на самом деле уже все потихоньку становится сложным
Комментарии:
На мой взгляд очень мало уделено времени такой теме как - "Приведение типов". Глобальная тема.
Я считаю, что наоборот, приведение типов это ни есть хорошо. Вы таким образом ломаете код, ломаете заранее заложенные принципы. Простой пример, Вы указали в сигнатуре функции аргумент с типом short, а передаете ему тип double. Может случиться так, что фактический аргумент содержит значение большее чем позволяет битовая сетка формального аргумента типа short. То же самое касается понижающего приведения от базового класса к производному, оно нужно, иногда (когда объект иерархии передается в код сторонней библиотеки и по возвращении нужно вернуть начальный тип), но в остальных случаях это зачастую намекает на ошибку в проектировании.
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: Реализовал все что делали.
К Shape.position мы привяжем все наши координаты, и при ее изменении вся фигура будет менять свое местоположение .
Научился: Дальнейшему структурированию проекта Отдельная точка Position нам нужна, для создания дополнительного уровня абстракции (чтобы в дальнейшем оперировать уже только ею)