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

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

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

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

  • Очень хочется все элементы снеговика поместить в один массив.
    Сейчас это сделать нельзя - придётся делать три массива - для кругов, для линий, для боксиков...
    Решение гениальное - создаём базовый класс фигуры - Shape, создаём массив фигур, и все фигуры помещаем в этот массив!
    После размещения фигур в массив можно видеть, что каждая фигура в нём хранится не как фигура, а под своим типом.
    А все под одной крышей они могут находится потому что все они - фигуры, так как унаследованы от Shape.
  • Дата отправки отчёта: 19 февраля 2019 г.
  • Задание выполнено: за 12 час. 14 мин.
  • Чему научился: Первый способ реализации функции Draw(); (в лоб) думаю такой:
    void Draw(Shape sh)
            {
                if (sh is Line)
                    Draw((Line)sh);
                if (sh is Box)
                    Draw((Box)sh);
                if (sh is Circle)
                    Draw((Circle)sh);
                if (sh is ColorLine)
                    Draw((ColorLine)sh);
                if (sh is ColorBox)
                    Draw((ColorBox)sh);
                if (sh is ColorCircle)
                    Draw((ColorCircle)sh);
            }
    Работает, но не элегантно.
    Думал на счет делегатов, в делегат записать все методы Draw))) Кажется плохое решение) Пока не знаю. Может быть на за счет интерфейсов.
  • Что было сложным: Придумать реализацию.
  • Оценка видео-уроку:
Отчёт от 11353 за Теория ООП / Фигуральный базовый класс


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




Оцени работу

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

  • Отчёт оценивали:
    3922Александр+1   6203Николай Миролюбов+1   20111Deep Network+1   791Валерий Жданов+1   9752chokayes+1   17947Dmitry Sinitsin+1   18131Александр+1   20619Артём Нагорный+1   20659no name+1   14981DimanDOS+1   13417Chip+1   8275Tekashnik+1  

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





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

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

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

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


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


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