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

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

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

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

  • Очень хочется все элементы снеговика поместить в один массив.
    Сейчас это сделать нельзя - придётся делать три массива - для кругов, для линий, для боксиков...
    Решение гениальное - создаём базовый класс фигуры - Shape, создаём массив фигур, и все фигуры помещаем в этот массив!
    После размещения фигур в массив можно видеть, что каждая фигура в нём хранится не как фигура, а под своим типом.
    А все под одной крышей они могут находится потому что все они - фигуры, так как унаследованы от Shape.
  • Дата отправки отчёта: 1 августа 2018 г.
  • Задание выполнено: за 37 мин.
  • Чему научился: Я увидел что у объекта shape.GetType().Name можно таким образос получить имя класса, дальше используя as привидение типа, вызываю Draw() для уже известного типа.
    Даже не знаю что это у меня за путь такой получился, но все нарисловалось как на скриншоте.
  • Оценка видео-уроку:
Отчёт от 17425 за Теория ООП / Фигуральный базовый класс




Оцени работу

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

17606. --
Виктор
Виктор
ответить
→  ser2018  # Теория ООП / Фигуральный базовый класс / 2018-08-02 08:46

Когда создаем базовый класс фигуры - Shape и все фигуры помещаем в массив с типом Shape срабатывает один из основных принципов полиморфизма - upcast (восходящее приведение типов). Очень советую почитать об этом upcast, например, погуглив, ну и в целом о полиморфизме. В этом уроке они практически во всей красе, но теории явно не хватает


  • Отчёт оценивали:
    17947Dmitry Sinitsin+1   6452Кирилл Шмойлов+1   459Сергей Сергеевич+1   17255Слава+1   3922Александр+1   1Евгений Волосатов+1   9014Николай Денисов+1   9752chokayes+1   16218Дмитрий+1   11589Yefim+1   18493Evgenii Kudriavtcev+1   16861Serge+1   11582Родион+1   17606Виктор+1   4732Sergey+1   791Валерий Жданов+1   10494Алексей В.+1  

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





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

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

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

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


Научился: Повторил базовый класс.
почему в разных книгах базовый класс называют по разному? или супер класс или родительский класс


Научился: Создал класс Shape. Выполнил наследование классов Line, Circle и Box от Shape. Создал два массива c типом элементов Shape.