Изучение c# на примерах

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

Получить доступ

Теория ООП

Практический курс по теории Объектно-ориентированного программирования.
С нуля создаётся проект по рисованию различных геометрических фигур,
которые потом объединяются в спрайты, взаимодействуют друг с другом.

Во время создания проекта постоянно применяется рефакторинг кода,
при этом демонстрируются приёмы Объектно-ориентированного программирования.

Во второй части курса мы проработаем понятие Интерфейса.

Объём: 39 коротких видеоуроков
Время: 7 часов 40 минут.
Доступ на 30 дней.

3000 руб.


Для подписки на пакет необходимо авторизоваться.

Список уроков | фото | видео

# Название видеоурока Решило Рейтинг Доступ
1 Инкапсуляция мечты 00:09:02 99 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 10 мин. [Показать отчёт]
Научился: Ничего 
Сложности: Ничего 
Комментарии: Инкапсуляция - это сокрытие работы важных вещей и вывод только управляющих кнопок. Например не случайно машину накрывают кузовом и капотом или калькулятор закрывают корпусом. 
2 Урок рисования 00:08:10 95 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 29 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Ничего 
Комментарии: Нарисовал домик. 
3 Первый класс 00:09:53 88 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 20 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Ничего 
Комментарии: Пока нечего сказать. 
4 Второй класс 00:09:13 84 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 20 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Ничего 
Комментарии: Я пока как ученик впитываю знания. 
5 Круглый класс 00:08:10 81 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 20 мин. [Показать отчёт]
Научился: Пока ничему. 
Сложности: Ничего. 
Комментарии: Потихоньку вникаем в тему ООП. 
6 Структура пикселя 00:10:55 70 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 20 мин. [Показать отчёт]
Научился: Структуру и до этого знал. 
Сложности: Ничего. 
Комментарии: Программка приобретает более презентабельный вид. 
7 Структура vs Класс 00:25:05 63 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 30 мин. [Показать отчёт]
Научился: Для меня было новым , что для того чтобы out заработал, нужно 2 параметра передавать или что нужно возвращать значение структуры - вроде на поверхности лежало, но как-то не догадался. 
Сложности: Ничего. 
Комментарии: Полезный урок - вспомнил, что по книжкам читал. 
8 Пиксели для классов 00:14:44 60 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 25 мин. [Показать отчёт]
Научился: Научился убирать дублирующийся код. 
Сложности: Были ошибочки, но на видео было сказано как с ними справиться. 
Комментарии: Потихонечку наводим порядок. 
9 Расстояние между пикселями 00:12:12 60 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 43 мин. [Показать отчёт]
Научился: Пока особо ничему. 
Сложности: Ничего 
Комментарии: Реализован еще один метод построения окружности. 
10 Цветные карандаши 00:14:54 58 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 1 час. 41 мин. [Показать отчёт]
Научился: Строить цветные объекты. 
Сложности: Ничего. 
Комментарии: Ура сделали бардак в программе - подошли к моменту наследования , полиморфизму и прочих плюшек ООП. 
11 Рисуем Снеговика 00:14:40 57 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 44 мин. [Показать отчёт]
Научился: Рисовать снеговика 
Сложности: Ничего. 
Комментарии: )))))) 
12 Второй Снеговик 00:09:46 57 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 47 мин. [Показать отчёт]
Научился: Научился рисовать второго снеговика. 
Сложности: Ничего. 
Комментарии: Нужно снеговика запихнуть в отдельный класс , с отдельными методами поворота и перемещения этого объекта. 
13 Богатое наследство 00:12:53 56 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 20 мин. [Показать отчёт]
Научился: Научился наследованию. 
Сложности: Ничего. 
Комментарии: Наследование - это возможность повторно использовать код программы путем выделения общих функций. Например есть класс документ, а от него наследуется класс расходный кассовый ордер. 
14 Фигуральный базовый класс 00:10:56 55 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 21 мин. [Показать отчёт]
Научился: Пока ничему 
Сложности: Ничего. 
Комментарии: Можно всякий раз запрашивать GetType в методе Draw при рисовании фигуры. А дальше с помощью switch -case вызывать уже готовые методы. 
15 Рисователь снеговиков 00:11:51 55 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 20 мин. [Показать отчёт]
Научился: Научился typeof. 
Сложности: Ничего. 
Комментарии: position - место начала вывода фигуры. Кстати для switch надо было написать shape.GetType().ToString() 
16 Переезд метода Draw 00:11:54 55 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 16 мин. [Показать отчёт]
Научился: Да пока ничему. 
Сложности: Ничего. 
Комментарии: Ура! Наконец-таки стали прятать метод Draw в классы объектов. 
17 Переезд graph в базовый класс 00:13:10 55 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 34 мин. [Показать отчёт]
Научился: Особо ничему. 
Сложности: Ничего. 
Комментарии: Наконец-таки спрятали методы Draw внутрь классов.  
18 Мощь полиморфизма 00:09:01 53 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 30 мин. [Показать отчёт]
Научился: Повторил abstract. 
Сложности: Ничего. 
Комментарии: Ура! Убрали ужасную функцию с формы Draw (Shape shape) и спрятали в классы. 
19 Спрайт для Снеговика 00:12:28 53 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 28 мин. [Показать отчёт]
Научился: Научился создавать и рисовать коллекцию фигур. 
Сложности: Ничего. 
Комментарии: Осталось спрятать коллекцию пикселей - их тоже нужно запихнуть в отдельный класс. 
20 Перемещение круга 00:11:42 53 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 29 мин. [Показать отчёт]
Научился: Научился перемещать фигуру. 
Сложности: Ничего. 
Комментарии: С каждым уроком становится интереснее. 
21 Перемещение других фигур 00:08:37 53 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 27 мин. [Показать отчёт]
Научился: Научился перемещать линию и box. 
Сложности: Ничего. 
Комментарии: Программа приобретает новые возможности. 
22 Перемещение Снеговиков 00:10:48 52 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 30 мин. [Показать отчёт]
Научился: Перемещать сложные фигуры типа снеговиков. 
Сложности: Ничего. 
Комментарии: Избавившись от delta мы столкнулись с другой проблемой - что нужно запоминать перемещения снеговика. Может даже имеет смысл сделать это в виде коллекции. Потому что второго снеговика от первого надо было переместить по x на 400 пикселей и аж потом перемещать на то же смещение, что и первого снеговика. 
23 ПОЛУФИНАЛЬНЫЙ УРОК. 46 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 5 мин. [Показать отчёт]
Научился: Писать отзыв 
Сложности: Ничего. 
Комментарии: Меня зовут Новопашин Владимир. Я прохожу ООП. Хороший курс. Если общее впечатление, то был какой-то захудалый проектик, а как начали потихоньку с помощью ООП приводить в порядок, так он заблистал своими гранями как бриллиант. 
24 Интерфейс. Зачем он нужен. 00:09:33 44 чел. ★ 4.9 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 11 мин. [Показать отчёт]
Научился: Повторил понятие интерфейса. 
Сложности: Ничего. 
Комментарии: Интерфейс - это трафарет для класса. 
25 Интерфейс. Правила игры. 00:12:23 43 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 31 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Ничего. 
Комментарии: Пока мысли останавливаются как реализовывать эти методы. 
26 Интерфейс. Алгоритм игры. 00:07:48 43 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 15 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Ничего. 
Комментарии: Нужно описать как минимум методы заданные в интерфейсы Игрок. 
27 Интерфейс. Создаём кружок. 00:08:36 42 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 16 мин. [Показать отчёт]
Научился: Узнал о классе Point. 
Сложности: Ничего. 
Комментарии: Нужно нарисовать кружок. 
28 Интерфейс. Площадка для игры. 00:11:58 41 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 20 мин. [Показать отчёт]
Научился: Создавать класс Arena. 
Сложности: Ничего. 
Комментарии: Класс арена - место тусовки шариков. 
29 Интерфейс. Кружок на площадке. 00:11:49 41 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 20 мин. [Показать отчёт]
Научился: Доделал класс Arena. 
Сложности: Ничего. 
Комментарии: Ура! В следующем уроке все запустим! 
30 Интерфейс. Запускаем кружки на площадку! 00:11:49 41 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 22 мин. [Показать отчёт]
Научился: Научился выводить кружки на форму. 
Сложности: Ничего. 
Комментарии: Очень похоже на энергетическую сеть. 
31 Интерфейс. Кружок хочет играть. 00:09:42 41 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 10 мин. [Показать отчёт]
Научился: Узнал кое-что новое об интерфейсах. 
Сложности: Ничего. 
Комментарии: Беги - нужно переместить случайно кружок на sx и sy позиций. В случае, если рядом оказывается другой кружок, то срабатывает метод Поймал. 
32 Интерфейс. Кружок готов к игре! 00:20:47 40 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 30 мин. [Показать отчёт]
Научился: Реализовал метод Беги и добавил два новых : distance и Cross. 
Сложности: Ничего. 
Комментарии: Магия работает. 
33 Интерфейс. Кружочки гоняются друг за другом. 00:11:53 39 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 20 мин. [Показать отчёт]
Научился: Запустил игру "Голя". 
Сложности: Ничего. 
Комментарии: Красота. Смотрел бы вечно - как на огонь, воду или рыбок. Чем-то дискотеку напоминает.... 
34 Интерфейс. Изменяем правила игры. 00:10:22 38 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 15 мин. [Показать отчёт]
Научился: Научился, чтобы голя не переголил. 
Сложности: Ничего. 
Комментарии: Все это мне напоминает уличную магию с Дэвидом Блейном ( можно на ютубе поискать). Вообще супер. Интерфейсенько. 
35 Интерфейс. Создаём новую игру. 00:12:31 37 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 20 мин. [Показать отчёт]
Научился: Научился создавать новую игру. 
Сложности: Ничего. 
Комментарии: Мне методы напоминают качели. Скажем так сначала красным цветом заражаем всех кто синим цветом, потом наооборот. Как-то так. 
36 Интерфейс. ФИНАЛЬНЫЙ УРОК. 00:13:05 34 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 22 мин. [Показать отчёт]
Научился: Научился реализовывать новые правила игры - заражать вирусом других игроков. 
Сложности: Ничего. 
Комментарии: Вообще завораживает - мне это напоминает процесс кристаллизации, а потом плавления. Короче инь-янь - постоянная тусовка. 
37 Интерфейс. VIP. Квадратики тоже хотят играть. 00:16:23 35 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 33 мин. [Показать отчёт]
Научился: Реализовал класс Box и его добавление на игровое поле. 
Сложности: Ничего. 
Комментарии: Ура! Новая фигура на поле. Оказывается очень быстро можно вносить изменения. 
38 Интерфейс. VIP. Пересечение прямоугольников. 00:09:47 33 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 23 мин. [Показать отчёт]
Научился: Научился делать методы проверки для боксиков и одновременно выводить кружки и боксики. 
Сложности: Ничего. 
Комментарии: Интерфейсы это мощь. Позволяют малыми усилиями быстро дописывать новый функционал. 
39 Интерфейс. VIP. Тяжёлая дружба кругов и квадратов. 00:22:25 26 чел. ★ 5 Done
  Отчёт отправил: 7119. Новопашин Владимир Решено за 1 час. 26 мин. [Показать отчёт]
Научился: Научился создавать класс-переходник Crosser, для взаимодействия кружков и боксиков. 
Сложности: Ничего. 
Комментарии: Не знаю - с моей точки зрения класс Crosser был вишенкой на торт ООП, отличный курс. Сразу скажу, что можно дальше развить в том плане, что объяснить например sealed класс и какие-нибудь фичи с абстрактным классом. В качестве примера можно замутить консольные шахматы. Кстати насчет шахмат есть же игра на троих и так далее. Вот есть например шахматы на троих - https://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D1%85%D0%BC%D0%B0%D1%82%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%82%D1%80%D0%BE%D0%B8%D1%85 или же астрономические шахматы - https://ru.wikipedia.org/wiki/%D0%90%D1%81%D1%82%D1%80%D0%BE%D0%BD%D0%BE%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D1%88%D0%B0%D1%85%D0%BC%D0%B0%D1%82%D1%8B . Вообщем как вариант - можно еще вариации курса делать. Кстати - можно сделать курс по разгадыванию японских кроссвордов. 
  Итого:   39 видеоуроков общей продолжительностью 7 час. 40 мин. 26 чел. ★ 4.95  
  Финалисты:   lomik,   Роман,   Максим Базуев,   Neverwinter 2,   Владимир,   Никита,   Оля,   Валера Луцевич,   Anton Sozykin,   Permitin Alexey,   Артём,   Максим Лапшинов,   Frank,   Archi,   Александр Львович,   Ильшат,   Олег Михайлович,   Дмитрий,   Новопашин Владимир,   Евгений,   Сергей Соколов,   Александр Б.,   Максим Саратов,   Алексей В.,   Александр,   Rita .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Научился писать методы SetNewVirus(Игрoк) и FindNewVirus() и запускать игру по новым правилам.
Трудности: Пока все было понятно.
Большое спасибо! Отзыв: Курс «Теория объектно-ориентированного программирования на практике» в Школе программиста представлял для меня большой интерес. Курс состоит из двух основных частей. В первой части данного курса был очень подробно рассмотрен процесс создания и изменения объектов без использования и с использованием ООП. Преобразование проекта первого типа во второй было весьма непростым, но в результате преобразования работа с различными объектами данного типа (их создание и изменение) значительно облегчилась. Во второй части была не менее подробно рассмотрена работа с интерфейсом и было показано, как можно использовать объект типа Интерфейс для практической реализации объектно-ориентированного подхода. Как всегда, особая благодарность руководителю проекта Школа программирования Евгению Витольдовичу Волосатову, который подобрал такие интересные задачи и все подробно объясняет. Некоторые сложные для меня вопросы программирования также приходится изучать дополнительно – с помощью интернета и специальной литературы. Мое имя и фотография имеются в моем профиле на портале Школы. В целях дальнейшего развития данного курса предлагаю показать, как можно было бы написать программу работы со снеговиками с нуля, сразу с использованием ООП.
Научился: Создавать новые игры, используя интерфейс.
Трудности: Ничего сложного.
Мне очень понравилась игра!) Очень классно получилось) И что самое примечательное, что мы можем сами, как нам угодно менять правила игры)