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

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

Теория ООП / Фигуральный базовый класс

  • Очень хочется все элементы снеговика поместить в один массив.
    Сейчас это сделать нельзя - придётся делать три массива - для кругов, для линий, для боксиков...
    Решение гениальное - создаём базовый класс фигуры - Shape, создаём массив фигур, и все фигуры помещаем в этот массив!
    После размещения фигур в массив можно видеть, что каждая фигура в нём хранится не как фигура, а под своим типом.
    А все под одной крышей они могут находится потому что все они - фигуры, так как унаследованы от Shape.
  • Дата отправки отчёта: 8 октября 2015 г.
  • Задание выполнено: за 25 мин.
  • Чему научился: Наследование можно использовать для помещения всех объектов-потомков в массив.
  • Что было сложным: все легко когда наглядно.
  • Комментарии: Для реализации общей функции Draw() для всех фигур без полиморфизма нужно каким-то образом узнавать в case тип фигуры наследника и вызывать для нее ее функцию Draw.
  • Оценка видео-уроку:
Отчёт от 6391 за Теория ООП / Фигуральный базовый класс




Оцени работу

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

  • Отчёт оценивали:
    6391Владимир+1   Посетитель+1   7036Рома Дячук+1   459Сергей Сергеевич+1   6885lomik+1   6458Илья+1   6065Евгений Васильев+1   4583Oleksandr+1   6452Lik_Kirill+1   4004Елена+1   7226Наталья+1   1947Denis+1   1Евгений Витольдович+1   5565Frank+1   4395Денис+1   5419Роман+1   6203Николай (nick27m)+1   7389Кузьмин Кирилл+1   7303Игорь+1   1637Алмаз+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Повторение - мать учения
Трудности: Пока всё просто!
Для того, чтобы реализовать метод Draw(Shape) - насколько я понимаю полиморфизм нужно метод Draw переписать непосредственно в каждый класс фигур и на форме просто перебирать все фигуры в цикле, каждая фигура будет вызывать свой метод Draw
Научился: Создавать базовый класс фигур
Трудности: Перегрузка метода Draw(Shape shape). Я не знаю как это реализовать. Подозреваю, что из этого метода нужно вызвать draw, передав ему конкретный тип (Line, ColorBox etc), но как это сделать не понимаю. Не понимаю как из shape получить реальный тип объекта.
Красивая идея использовать общий класс shape для всех фигур. Но реализовать ее я пока не в состоянии