Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Теория ООП / Приведение с мотором

  • На этом уроке мы реализуем метод 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). которая в свою очередь будет вызывать функции для рисования отдельных фигур.
    Я на это долго смотрел. Дооолго смотрел. ..... ..... ....  Нет, ну вот честно. Массив никаких фигур, а затем мы вызываем функцию, которая отрисовывает поэлементно, по дороге определяя тип... А-а-а-а....
    Ощущение, что в черепную коробку засунули гантелю, и она [коробка] стала очень тяжёлой...
  • Оценка видео-уроку:
Отчёт от 1901 за Теория ООП / Приведение с мотором




Оцени работу

 
Сохранить страницу:

2146. --
Иван
Иван
ответить
→  Neverwinter 2  # Теория ООП / Рисователь снеговиков / 2015-10-02 10:24

Здорово все расписали! И ведь это все работает!


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Neverwinter 2  # Теория ООП / Рисователь снеговиков / 2015-10-02 10:39

Да, Кирилл, всё верно ты понял, я очень рад!
Когда попрактикуешься - это будет на уровне интуиции,
казаться само-собой разумеющимся, мол, "а иначе никак". :)


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Neverwinter 2  # Теория ООП / Рисователь снеговиков / 2015-10-02 10:39

И вот теперь мы напрямую подошли к полиморфизму.


1232. --
Фомичева Наталья
Фомичева Наталья
ответить
→  Neverwinter 2  # Теория ООП / Рисователь снеговиков / 2015-10-02 10:41

Снеговиков не делала, мне пока уток хватает.
www.youtube.com/watch?v=qo7Hqwypwcc&;list=PLtjuvkyFrt5Wjd-973N117XS7xuuoD6XM
Но стало интересно, что же вы там собираетесь реализовывать.


6458. --
Александр
Александр
ответить
→  Neverwinter 2  # Теория ООП / Рисователь снеговиков / 2015-10-02 12:19

массив никаких фигур)) хаха


24. --
Олюшка
Олюшка
ответить
→  Neverwinter 2  # Теория ООП / Рисователь снеговиков / 2015-10-02 13:28

Кирилл, все хорошо, главное не сильно напрягайся, у тебя все замечательно получилось, глубокое осознание придет с большим опытом, вот ты ходишь, ты же не задумываешься как ты передвигаешь ноги и какие мышцы у тебя задействованы и за что они отвечают, а это вообще очень сложный процесс, а ходишь и бегаешь ты на автомате и при этом еще думаешь о чем то и можешь при этого говорить по телефону и еще что-то делать... так и тут все также!
Знаю что все у тебя уже хорошо, а дальше еще лучше будет!!! Вперед! :)



Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Реализовал все что делали. К Shape.position мы привяжем все наши координаты, и при ее изменении вся фигура будет менять свое местоположение .



Научился: Дальнейшему структурированию проекта
Отдельная точка Position нам нужна, для создания дополнительного уровня абстракции (чтобы в дальнейшем оперировать уже только ею)