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

Формула программиста
основатель — Волосатов Евгений Витольдович

Теория ООП / Интерфейс. Запускаем кружки на площадку!

  • На этом уроке мы настроим нашу форму,
    напишем несколько волшебных строчек,
    и ... программа заработает!!!
    У нас будет много-много кружков на экране 8-о
  • Дата отправки отчёта: 4 апреля 2016 г.
  • Задание выполнено: за 3 мин.
  • Чему научился: Передавать pictureBox в функцию, как аргумент
  • Что было сложным: Ничего
  • Комментарии: +++
  • Оценка видео-уроку:
Отчёт от 9768 за Теория ООП / Интерфейс. Запускаем кружки на площадку!


Отчёт от 9768 за Теория ООП / Интерфейс. Запускаем кружки на площадку!




Оцени работу

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

24. Оля
Оля
ответить
→  Ender  # Теория ООП / Интерфейс. Запускаем кружки на площадку! / 2016-04-05 18:10

Ох как здорово у тебя кружки заполнили площадку! Класс!


  • Отчёт оценивали:
    6925Артём+1   459Сергей Сергеевич+1   4467Alcatraz+1   6452Кирилл Шмойлов+1   8275Tekashnik+1   4992Николай+1   8886Михаил Ермишин+1   1Евгений Волосатов+1   689Igorenzia+1   8938mr.whirl+1   9752Chokan0   9332Dima+1   6391Владимир+1   9809ANDREY IVANTSOV+1   36Данил+1   4395Денис+1   5565Frank+1   9820Konstantin0   24Оля+1   9288Pučko Antonina+1   9263Андрей Н.+1   4736Евгений+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: усложнив задачу, я теперь твердо уяснил много моментов
Трудности: сочинять код, когда нет готового решения
Решил себе усложнить задачу: сделать так, чтобы кружки друг на друга не накладывались. Идея была сразу: нужно сохранять в список все созданные кружки и при создании новых проверять, чтобы край нового круга не попадал внутрь уже имеющихся. А вот в реализации обнаружил для себя немало неочевидных тонкостей в обычном программировании, которые не сразу удалось учесть. В итоге, в моей форме слева реализация по Витольдовичу, справа с моим усложнением. В процессе возникли такие вопросы: 1. Пусть у нас есть некий класс с методом Show(). Мы наследуем новый класс, в котором тоже будет метод Show(), который усовершенствует метод Show() базового класса, т.е. в новом Show() будет такой же код, как в базовом Show() плюс еще. Возможно ли в C#,а также в других языках, сделать так, чтобы при создании Show() в производном классе - вызвать код из базового Show() наподобие, как это можно сделать при вызове конструкторов через base? 2. Опять эта же ситуация: базовый класс с Show () и производный с Show (). Если не писать virtual и override, то код компилируется, но пишется предупреждение, мол действительно ли вы там собирались затереть базовый Show (), сделайте это как-то очевидно. Почему существует такая ситуация? т.е. почему не запрещено без слов virtual и override затирать базовый метод? А еще можно написать virtual в базовом, а в производном ничего не писать или даже написать virtual, и будет опять просто предупреждение о том, что метод затрется. Почему не запрещено это? Наблюдение. Возникла необходимость сделать метод, чтобы он был доступен везде, кроме производного класса (похожая ситуация еще могла бы быть: сделать метод в производном классе доступным везде, кроме базового класса). Сначала я задумался, какой поставить модификатор доступа, но потом опомнился, что для такой ситуации нужен полиморфизм. И отсюда я ощутил, что, пожалуй, часть понятия полиморфизм можно понимать, как более хитрый модификатор доступа.
Научился: Вспомнил как создавать PictureBox и кнопку, как редактировать свойства формы. Вспомнил как редактировать событие для кнопки.
Трудности: Программа уходила в ошибку. При переименовании кнопки не вся часть кода увидела новое имя кнопочки, где-то была ссылка на старое название. Зато покопался в коде лишний раз.
Мой вопрос: если событие для кнопки не создалось (или я его случайно стер) как создать его снова?