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

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

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

 14075

-- Rise

Теория ООП / Мощь полиморфизма

  • На этом уроке мы создадим в базовом классе функцию Draw(),
    и при её вызове через механизм полиморфизма будет запускаться созвучный метод нужного класса.
  • Дата отправки отчёта: 1 января 2018 г.
  • Задание выполнено: за 27 мин.
  • Чему научился: Научился переопределению методов в дочерних классах. Вызываем метод класса Shape, но вызывается тот метод, который принадлежит классу текущего объекта массива shapes.
  • Что было сложным: Для меня, как человека, впервые столкнувшимся с переопределением методов как с одним из примеров полиморфизма - все это довольно сложно для понимания. Особенно учитывая, что я постоянно забываю, что массив Shape состоит из объектов,  классы которых наследуются от класса Shape. Для меня это трудно понять, что все классы мы наследовали, чтобы потом запихнуть все в простой массив.
    Отсюда следует вопрос - почему бы нам вместо наследования было просто не воспользоваться коллекцией ArrayList, которая принимает в себя элементы любых типов(классов)?
    Так что думаю, что с последним заданием - "порадоваться силе полиморфизма" я пока не справился.
  • Оценка видео-уроку:
Отчёт от 14075 за Теория ООП / Мощь полиморфизма




Оцени работу

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

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Rise  # Теория ООП / Мощь полиморфизма / 2018-01-01 19:25

Можно все элементы поместить в коллекцию. Только тогда в цикле нужно ставить свич на перебор всех возможных типов чтобы вызвать один метод. Это неудобно.


10558. --
Иван Воронин
Иван Воронин
ответить
→  Rise  # Теория ООП / Мощь полиморфизма / 2018-01-01 20:38

Потому что это не так удобно, как можно реализовать, пока ещё не прошёл этот курс, поэтому не скажу, будет ли дальше разгадка сути или нет, но в курсах по Java такое уже проходили =)


10167. --
Игорь
Игорь
ответить
→  Rise  # Теория ООП / Мощь полиморфизма / 2018-01-02 09:45

После того, как ты соберешь массив разнотипных объектов, придется организовывать сложную функцию для обращения с запросами к разнотипным объектам этого массива(какие то case проверки соответствия типов). А так у тебя куча объектов обобщенных базовым классом и унаследованный функционал работает автоматически. Что бы понять, советую сделать, как ты предлагаешь, и проверить все самому.


  • Отчёт оценивали:
    15876Скозложоп+1   1Евгений Волосатов+1   16533Андрей Шевченко+1   2773Никита+1   459Сергей Сергеевич+1   10558Иван Воронин+1   6452Кирилл Шмойлов+1   6644valerys Nikola+1   10167Игорь+1   7119Новопашин Владимир+1   10528Денис+1   3922Александр+1   7308AZANIR+1   1570Сарапульцев Константин+1   3747Сергей+1  

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





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

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

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

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


Научился: Создавать виртуальные функции и переопределять их в классах-наследниках. Создавать абстрактные классы и переопределять их в классах-наследниках.
Трудности: На этот раз гладко зашло)
Я в восторге от ООП в общем и полиморфизма в частности!)


Научился: Оптимизировал программу под использование полиморфизма. Прошел по шагам. Чем дальше прохожу по урокам курса, тем больше упрощается программа.)))