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

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

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

Теория ООП

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

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

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

Только сегодня — скидка 75%!

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

2,400 руб.


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

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

# Название видеоурока Решило Рейтинг Доступ
1 Инкапсуляция мечты 00:09:02 122 чел. ★ 4.8 Done
  Отчёт отправил: 2570. Maksim Решено за 10 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Ничего 
Комментарии: Нормально. 
2 Урок рисования 00:08:10 108 чел. ★ 4.9 Done
  Отчёт отправил: 2570. Maksim Решено за 10 мин. [Показать отчёт]
Научился: Рисовать 
Сложности: Ничего 
Комментарии: Прикольно 
3 Первый класс 00:09:53 100 чел. ★ 4.9 Done
  Отчёт отправил: 2570. Maksim Решено за 10 мин. [Показать отчёт]
Научился: Рисовать 
Сложности: Ничего 
Комментарии: Хорошо. 
4 Второй класс 00:09:13 96 чел. ★ 4.9 Done
  Отчёт отправил: 2570. Maksim Решено за 10 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Ничего 
Комментарии: Отлично 
5 Круглый класс 00:08:10 93 чел. ★ 4.9 Done
  Отчёт отправил: 2570. Maksim Решено за 10 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Ничего 
Комментарии: Отлично 
6 Структура пикселя 00:10:55 82 чел. ★ 5 Done
  Отчёт отправил: 2570. Maksim Решено за 11 мин. [Показать отчёт]
Научился: Немного работать со структурой 
Сложности: Ничего 
Комментарии: Отлично 
7 Структура vs Класс 00:25:05 76 чел. ★ 4.9 Done
  Отчёт отправил: 2570. Maksim Решено за 26 мин. [Показать отчёт]
Научился: Понял разницу между структурой и классом. 
Сложности: Ничего. 
Комментарии: Отлично. 
8 Пиксели для классов 00:14:44 73 чел. ★ 4.9 Done
  Отчёт отправил: 2570. Maksim Решено за 15 мин. [Показать отчёт]
Научился: Использовать структуру в классе 
Сложности: Понять конструкцию "public Box(int x1, int y1, int x2, int y2) : this (new Pixel(x1, y1), new Pixel (x2, y2))" 
Комментарии: Круто. 
9 Расстояние между пикселями 00:12:12 73 чел. ★ 4.9 Done
  Отчёт отправил: 2570. Maksim Решено за 12 мин. [Показать отчёт]
Научился: Чему-то да научился :) 
Сложности: Вроде бы ничего 
Комментарии: Отлично. 
10 Цветные карандаши 00:14:54 71 чел. ★ 4.9 Done
  Отчёт отправил: 2570. Maksim Решено за 15 мин. [Показать отчёт]
Научился: Рисовать цветом :) 
Сложности: Незапутаться. 
Комментарии: Круто! 
11 Рисуем Снеговика 00:14:40 69 чел. ★ 4.9 Done
  Отчёт отправил: 2570. Maksim Решено за 20 мин. [Показать отчёт]
Научился: Рисовать снеговика :) 
Сложности: Ничего 
Комментарии: Отлично 
12 Второй Снеговик 00:09:46 69 чел. ★ 4.9 Done
  Отчёт отправил: 2570. Maksim Решено за 12 мин. [Показать отчёт]
Научился: Рисовать два снеговика :) 
Сложности: Не лопнуть от смеха :) 
Комментарии: Отлично, спасибо. 
13 Богатое наследство 00:12:53 68 чел. ★ 4.9 Done
  Отчёт отправил: 2570. Maksim Решено за 13 мин. [Показать отчёт]
Научился: Наследованию 
Сложности: Ничего 
Комментарии: Отлично! 
14 Фигуральный базовый класс 00:10:56 67 чел. ★ 4.9 Done
  Отчёт отправил: 2570. Maksim Решено за 15 мин. [Показать отчёт]
Научился: Запихивать отдельные части снеговика в массив :) 
Сложности: Придумать как реализовать функцию draw. Может быть надо функции draw запихнуть в класс каждой фигуры и затем вызывать их? 
Комментарии: Отлично. 
15 Рисователь снеговиков 00:11:51 67 чел. ★ 4.9 Done
  Отчёт отправил: 2570. Maksim Решено за 12 мин. [Показать отчёт]
Научился: Определять тип фигуры (класса) и в зависимости от этого вызывать нужную функцию. 
Сложности: Не запутаться. 
Комментарии: shape.position будет точкой отсчета 
16 Переезд метода Draw 00:11:54 66 чел. ★ 4.9 Done
  Отчёт отправил: 2570. Maksim Решено за 15 мин. [Показать отчёт]
Научился: Всякому :) 
Сложности: Ничего 
Комментарии: Отлично. 
17 Переезд graph в базовый класс 00:13:10 66 чел. ★ 5 Done
  Отчёт отправил: 2570. Maksim Решено за 15 мин. [Показать отчёт]
Научился: Не осознал ещё :) Но чему то точно научился :) 
Сложности: Не запутаться :) 
Комментарии: Отлично. 
18 Мощь полиморфизма 00:09:01 64 чел. ★ 5 Done
  Отчёт отправил: 2570. Maksim Решено за 10 мин. [Показать отчёт]
Научился: Полиморфизму. 
Сложности: ничего 
Комментарии: Класс. Спасибо большое. Круто! 
19 Спрайт для Снеговика 00:12:28 64 чел. ★ 5 Done
  Отчёт отправил: 2570. Maksim Решено за 20 мин. [Показать отчёт]
Научился: Использовать абстрактный класс. 
Сложности: Не запутаться что где поменять, что убрать и т.д. =) 
Комментарии: Круто! Спасибо! 
20 Перемещение круга 00:11:42 64 чел. ★ 4.9 Done
  Отчёт отправил: 2570. Maksim Решено за 20 мин. [Показать отчёт]
Научился: Перемещать кружок :) 
Сложности: Ничего 
Комментарии: Отлично. 
21 Перемещение других фигур 00:08:37 64 чел. ★ 4.9 Done
  Отчёт отправил: 2570. Maksim Решено за 15 мин. [Показать отчёт]
Научился: Перемещать другие фигуры :) 
Сложности: Ничего 
Комментарии: Отлично. 
22 Перемещение Снеговиков 00:10:48 63 чел. ★ 4.9 Done
  Отчёт отправил: 2570. Maksim Решено за 15 мин. [Показать отчёт]
Научился: Много чему :) 
Сложности: Не совсем понял насчет базового метода ( base.Move(position);). 
Комментарии: Всё понравилось. 
23 ПОЛУФИНАЛЬНЫЙ УРОК. 57 чел. ★ 4.9 Done
  Отчёт отправил: 2570. Maksim Решено за 5 мин. [Показать отчёт]
Научился: Понял что такое ООП, как оно работает и зачем это нужно. 
Сложности: Не запутаться. 
Комментарии: Спасибо большое! Мне очень понравилось. На простых примерах объясняются не простые вещи. Иногда смешно, иногда интересно, иногда запутанно, а потому всё распутывается и становится понятным. Евгений, Спасибо Вам Большое. С уважением, Максим Курашов. 
24 Интерфейс. Зачем он нужен. 00:09:33 54 чел. ★ 4.8 $
25 Интерфейс. Правила игры. 00:12:23 53 чел. ★ 4.9 $
26 Интерфейс. Алгоритм игры. 00:07:48 53 чел. ★ 4.9 $
27 Интерфейс. Создаём кружок. 00:08:36 52 чел. ★ 5 $
28 Интерфейс. Площадка для игры. 00:11:58 51 чел. ★ 5 $
29 Интерфейс. Кружок на площадке. 00:11:49 51 чел. ★ 5 $
30 Интерфейс. Запускаем кружки на площадку! 00:11:49 51 чел. ★ 5 $
31 Интерфейс. Кружок хочет играть. 00:09:42 51 чел. ★ 4.9 $
32 Интерфейс. Кружок готов к игре! 00:20:47 50 чел. ★ 5 $
33 Интерфейс. Кружочки гоняются друг за другом. 00:11:53 50 чел. ★ 5 $
34 Интерфейс. Изменяем правила игры. 00:10:22 49 чел. ★ 5 $
35 Интерфейс. Создаём новую игру. 00:12:31 47 чел. ★ 5 $
36 Интерфейс. ФИНАЛЬНЫЙ УРОК. 00:13:05 44 чел. ★ 5 $
37 Интерфейс. VIP. Квадратики тоже хотят играть. 00:16:23 45 чел. ★ 5 $
38 Интерфейс. VIP. Пересечение прямоугольников. 00:09:47 43 чел. ★ 5 $
39 Интерфейс. VIP. Тяжёлая дружба кругов и квадратов. 00:22:25 37 чел. ★ 5 $
  Итого:   39 видеоуроков общей продолжительностью 7 час. 40 мин. 37 чел. ★ 4.94  
  Финалисты:   lomik,   Роман,   Максим Базуев,   Neverwinter 2,   Владимир,   Никита,   Оля,   Валера Луцевич,   Anton Sozykin,   Permitin Alexey,   Артём,   Максим Лапшинов,   Frank,   Archi,   Александр Львович,   Ильшат,   Олег Михайлович,   Дмитрий,   Новопашин Владимир,   Евгений,   Сергей Соколов,   Александр Б.,   Максим Саратов,   Алексей В.,   Александр,   Rita,   Станислав,   Алексей Хонин,   Ludmila,   Yefim,   Сергей Зулкарнаев,   Сергей Аникин,   Константин,   Tekashnik,   Артем Посунько,   Андрей Козлов,   kalobyte .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Полная реализация игры
Евгений, спасибо большое за серию видеоуроков по теории ООП!!! Благодаря этому легко понять зачем нужны интерфейсы и как их можно использовать.
Научился: Метод Contains у класса List<>, удобная штука.
Трудности: Не было, все понятно, хорошо показано, как изменить правила в игре.
Перед началом второй части курса теории ООП я ожидал, что мы продолжим работать со снеговиками, научим их каким-нибудь действиями (помню Оля писала мне в комментариях, что "они у нас еще потанцуют, а мы отлично потренируемся"). Кроме того, в шапке курса было указано, "При создании программы мы будем использовать некоторые шаблоны проектирования, такие как "Одиночка", "Фабрика", "Строитель", "Наблюдатель" и другие. Когда я это увидел, еще до того, как пройти первую часть курса, то загорелся желанием пройти курс ООП. В первой части курса паттернов не было, поэтому ожидал их увидеть во второй части. Но и во второй части их не было. Да, были моменты с методами Arena.NewCircle(), но упор в курсе был сделан не на паттерны, а на интерфейсы. Однако это ни в коей мере не говорит о том, что курс мне не подошел. Я присутствовал на вебинаре, на котором производилась запись курса, это восхитительная атмосфера, всем советую ходить на вебинары!) Тематика второй части курса меня сразу захватила, Евгений Витольдович придумал интересный пример для объяснения этой важной концепции в объектно-ориентированном программировании. При этом, в первых уроках упор был сделан на абстракцию, логику программу, а отображением результатов на форме мы занимались во второй половине курса, и, что примечательно, программа сразу со старта заработала корректно, это достойно уважения!) Кроме того, практически после каждого урока были дополнительные вопросы на проработку материала. Нам было необходимо написать словесные алгоритмы или попробовать самим реализовать действия из следующих уроков. Это сильно мотивирует и проверяет на сколько качественно усваивается материал. В целом, я считаю, что неплохо прокачался за эти два курса ООП. Кому стоит рекомендовать данный курс? В своем полуфинальном отчете я писал, что курс теория ООП хорошо подойдет для программистов, которые достаточно уверенно знают C#, но не уверенно понимают понятия ООП. Мои коллеги по проекту не разделяют этого мнения (я читал их отзывы с полуфинального урока) и считают, что курс мастхев для новичков. На вкус и цвет конечно, но я своего мнения не меняю. Лучше сначала хорошо проработать задачи из консоли, бесплатные курсы, понять, что ты не боишься языка программирования и можешь написать программу любой разумной сложности, и потом понять для себя, чего не хватает и к чему лежит интерес) Получился достаточно длинный отчет, спасибо тем, кто прочитал его до конца) Спасибо Евгений Витольдович, мне было приятно пройти курс теория ООП, появились новые идеи, открылись пробелы по некоторым вопросам, будем изучать дальше!)