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

Формула программиста
основатель — Волосатов Евгений Витольдович
Шахматная олимпиада: вторая часть
Вебинар «Решение задач второй шахматной олимпиады» начнётся через 19 час. 25 мин.

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

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




Оцени работу

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

  • Отчёт оценивали:
    7645Александр Львович+1   6925Артём+1   1Евгений Волосатов+1   689Igorenzia+1   3747Сергей+1   791Валерий Жданов+1   4992Николай+1   9427Иван Алексеевич+1   459Сергей Сергеевич+1   8886Михаил Ермишин+1   6987MichGar+1   4889Валера Луцевич+1   9237Mais+1   4467Alcatraz+1   6452Кирилл Шмойлов+1   7157muxasio+1   6644valerys Nikola+1   1537Сергей+1   6203Николай (nick27m)+1   2353Павел Журавлевич+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Трудности: Придумать ответ на вопрос
По сути функция Draw (Shape shape) и не нужна. Необходимо выполнять проверку типа if (SnowMan1[i] is ФИГУРА) и тогда рисовать часть снеговика с приведением к нужной фигуре. Draw((ФИГУРА)(SnowMan[i]);
Научился: узнала что можно в массив загонять разные объекты и упростить вывод рисования с помощью цикла
Трудности: ответить на вопрос, так пока не ответила, жду следующего урока, пояснений как сделать функцию рисования(((
все больше и больше нравится, очень жду пояснений и интересно как же мы все так просто и легко усовершенствуем и облегчаем код))))