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

Формула программиста
основатель — Волосатов Евгений Витольдович

Теория ООП / Рисователь снеговиков

  • На этом уроке мы реализуем метод 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 за Теория ООП / Рисователь снеговиков




Оцени работу

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

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

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


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

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


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

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


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

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


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

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


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

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


  • Отчёт оценивали:
    1901Neverwinter 2+1   2146Иван+1   6203Николай (nick27m)+1   1Евгений Витольдович+1   1232Фомичева Наталья+1   1637Алмаз+1   6758Роман Осипов+1   6971avelkor+1   6458Илья+1   5705Андрей +1   5565Frank+1   6987MichGar+1   24Оля+1   4395Денис+1   4485Vlad Yakovlev+1   1305Валерий+1   6452Lik_Kirill+1   5882Александр Широков+1   4004Елена+1   459Сергей Сергеевич+1  

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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: прокачиваемся.
Трудности: Ни чего.
С нетерпением жду ответа на вопрос поставленный в уроке.
Научился: создавать более общие методы, применимые для общего класса, применять методы GetType() и typeof.
Трудности: ничего
Shape.position понадобится для указания положения фигуры на плоскости (или в пространстве). Position должно быть переменной типа point.