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

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

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

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

  • Очень хочется все элементы снеговика поместить в один массив.
    Сейчас это сделать нельзя - придётся делать три массива - для кругов, для линий, для боксиков...
    Решение гениальное - создаём базовый класс фигуры - Shape, создаём массив фигур, и все фигуры помещаем в этот массив!
    После размещения фигур в массив можно видеть, что каждая фигура в нём хранится не как фигура, а под своим типом.
    А все под одной крышей они могут находится потому что все они - фигуры, так как унаследованы от Shape.
  • Дата отправки отчёта: 25 апреля 2017 г.
  • Задание выполнено: за 28 мин.
  • Чему научился: Наследовать от пустого класса
  • Что было сложным: Написать Draw (Shape shape)
  • Комментарии: Вот моя реализация:
    private void Draw(Shape shape)
            {
                if (shape.GetType() == typeof(ColorCircle)) Draw((ColorCircle)shape);
                if (shape.GetType() == typeof(ColorLine)) Draw((ColorLine)shape);
                if (shape.GetType() == typeof(ColorBox)) Draw((ColorBox)shape);
                if (shape.GetType() == typeof(Circle)) Draw((Circle)shape);
                if (shape.GetType() == typeof(Line)) Draw((Line)shape);
                if (shape.GetType() == typeof(Box)) Draw((Box)shape);
            }
  • Оценка видео-уроку:
Отчёт от 8275 за Теория ООП / Фигуральный базовый класс




Оцени работу

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

10558. --
Иван Воронин
Иван Воронин
ответить
→  Tekashnik  # Теория ООП / Фигуральный базовый класс / 2017-04-25 19:11

в твоём случае, else if было бы производительнее. switch не пробовал?


8275. --
Tekashnik
Tekashnik
ответить
→  Иван Воронин  # Теория ООП / Фигуральный базовый класс / 2017-04-26 15:15

Свитч, для типа Type не работает


10558. --
Иван Воронин
Иван Воронин
ответить
→  Tekashnik  # Теория ООП / Фигуральный базовый класс / 2017-04-26 17:51

Странно, а у меня работает, ну да ладно, буду проходить данный курс, проверю, может быть тут действительно нужно допиливать код, чтобы свитч работал =)



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





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

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

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

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


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


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