На этом уроке мы реализуем метод Draw (Shape shape) через серию условных операторов. А также создадим функцию для рисования целевого спрайта (снеговика) - Draw (Shape [] shapes). Результат работы программы не изменяется, а вот содержимое кода всё более и более облагораживается.
Дата отправки отчёта:
2 октября 2015 г.
Задание выполнено: за
1 час. 00 мин.
Чему научился:
Углубил знания о наследовании.
Что было сложным:
ВСЁ!!! Всё было сложным! Понять как всё это работает!!!
Комментарии:
Это кошмар какой-то! Я даже не знаю, как это назвать. Мы организовываем класс Shape от которого наследуем всё, при этом в классе ничего нет. То есть сёркл, лайн и бокс это фигуры, а шэйп - это как бы профигура (по аналогии с прокариотами), никакая фигура. И затем мы делаем массив никаких фигур! snowman1 = new Shape[7]; Далее мы рисуем снеговика Draw(snowman1); С одной стороны всё хорошо, Рисуем (снеговик). все четко и понятно. НО с другой стороны мне надо держать в голове, что сноумэн1 это массив, и что будет вызвана функция Draw(Shape[] shapes) . Ага. А shapes[j] - это уже какой то элемент массива, и уже с ним будет вызвана другая функция, то есть строка Draw(shapes[j]); вызовет Draw(Shape shape). которая в свою очередь будет вызывать функции для рисования отдельных фигур. Я на это долго смотрел. Дооолго смотрел. ..... ..... .... Нет, ну вот честно. Массив никаких фигур, а затем мы вызываем функцию, которая отрисовывает поэлементно, по дороге определяя тип... А-а-а-а.... Ощущение, что в черепную коробку засунули гантелю, и она [коробка] стала очень тяжёлой...
Да, Кирилл, всё верно ты понял, я очень рад! Когда попрактикуешься - это будет на уровне интуиции, казаться само-собой разумеющимся, мол, "а иначе никак". :)
Снеговиков не делала, мне пока уток хватает. www.youtube.com/watch?v=qo7Hqwypwcc&list=PLtjuvkyFrt5Wjd-973N117XS7xuuoD6XM Но стало интересно, что же вы там собираетесь реализовывать.
Кирилл, все хорошо, главное не сильно напрягайся, у тебя все замечательно получилось, глубокое осознание придет с большим опытом, вот ты ходишь, ты же не задумываешься как ты передвигаешь ноги и какие мышцы у тебя задействованы и за что они отвечают, а это вообще очень сложный процесс, а ходишь и бегаешь ты на автомате и при этом еще думаешь о чем то и можешь при этого говорить по телефону и еще что-то делать... так и тут все также! Знаю что все у тебя уже хорошо, а дальше еще лучше будет!!! Вперед! :)
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: Реализовал все что делали.
К Shape.position мы привяжем все наши координаты, и при ее изменении вся фигура будет менять свое местоположение .
Научился: Дальнейшему структурированию проекта Отдельная точка Position нам нужна, для создания дополнительного уровня абстракции (чтобы в дальнейшем оперировать уже только ею)