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

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

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

Теория ООП / Переезд graph в базовый класс

  • На этом уроке мы напишем функции для рисования фигур во всех остальных классах.
  • Дата отправки отчёта: 5 августа 2018 г.
  • Задание выполнено: за 2 час. 54 мин.
  • Чему научился: Все более менее устаканивается, продолжаем двигаться к полиморфизму
  • Что было сложным: Не возникло
  • Оценка видео-уроку:
Отчёт от 17606 за Теория ООП / Переезд graph в базовый класс




Оцени работу

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

17606. --
Виктор
Виктор
ответить
# Теория ООП / Переезд graph в базовый класс / 2018-08-05 16:52

Есть правда определенная проблема, решение нашел, но сути самой проблемы пока не понял. Дело, в том, что я изначально в базовом классе определил два карандаша:
public Shape()
        {
            pen1 = new Pen(Color.Blue);
            pen2 = new Pen(Color.Red);
        } и они у меня отлично отрабатывали, но после того, как мы отказались от всех функций Draw() в основной программе, у моего второго красного снеговика красными остались только линии. Я исправил, но само исправление не понимаю, поскольку все нормализовалось после того как я  в основном конструкторе класса ColorCircle()  вместо pen2, создал pen1 =>  this.pen1 = new Pen(color); и все стало красными, как я и хотел, но pen1 - у меня ведь это синий карандаш(стало красным) , а если создаю pen2(красный) - то все становится синим, почему? Очевидно связано с ранним и поздним связыванием, переопределением и затиранием одной переменной другой, но где это происходит? Никак не пойму


9014. --
Николай Денисов
Николай Денисов
ответить
→  Виктор  # Теория ООП / Переезд graph в базовый класс / 2018-08-05 17:23

Привет, Виктор! Прикольные снеговики получились, До куче осталось только круглые лапы замутить.
Для фигур ColorLine(координата А, координат Б, цвет); А для простой фигуры устанавливаются просто координаты. Там всё просто, повнимательней посмотри.


6861. --
Den Andreevich
Den Andreevich
ответить
→  Виктор  # Теория ООП / Переезд graph в базовый класс / 2018-08-06 22:53

Виктор, доброго времени суток ! Интересно узнать, в чём же была причина "подмены" цветов карандашей …


  • Отчёт оценивали:
    6452Кирилл Шмойлов+1   3922Александр+1   9014Николай Денисов+1   19525Александр Балбашов0   9752chokayes+1   1Евгений Волосатов+1   17947Dmitry Sinitsin+1   16218Дмитрий+1   10895Danil42Russia+1   4732Sergey+1   19541Максим Георгивич Пынтя0   6861Den Andreevich+1   19543Trooman0   17425ser2018+1   19022Олег Чудновский+1   1295Дмитрий Че+1   11589Yefim+1   16861Serge+1   10494Алексей В.+1   791Валерий Жданов+1   7645Александр Львович+1   459Сергей Сергеевич+1   14981DimanDOS+1  

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





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

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

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

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


Научился: Очередной раз убедился в преимуществах грамотной организации хранения и использования имен объектов и методов.



Научился: упростил программу, перенеся методы рисования в класс соответсвующей фигуры-родителя