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

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

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

Теория ООП

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

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

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

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

1,000 p.


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

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

# Название видеоурока Решило Рейтинг Доступ
1 Инкапсуляция мечты 00:09:02 139 чел. ★ 4.8 Done
  Отчёт отправил: 9732. Андрей Решено за 20 мин. [Показать отчёт]
Научился: ? 
Сложности: Все вроде понятно. 
Комментарии: Организация взаимодействия с объектами только через специально определенные методы. Чтобы исключить нарушение работы объекта.  
2 Урок рисования 00:08:10 123 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Новые объекты. 
Сложности: Понятно. 
Комментарии: Пока понятно. 
3 Первый класс 00:09:53 114 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Пока известное. 
Сложности: Все понятно. 
Комментарии: Вопросов не. 
4 Второй класс 00:09:13 109 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 20 мин. [Показать отчёт]
Научился: Вроде все известно 
Сложности: Все понятно 
Комментарии: Нет замечаний. 
5 Круглый класс 00:08:10 106 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 20 мин. [Показать отчёт]
Научился: Новые объекты NET. 
Сложности: Все вроде понятно 
Комментарии: Что то в видеоуроке не понял, как в конструкторе Circle ширину, посчитали через высоту у которой значение по умолчанию? 
6 Структура пикселя 00:10:55 96 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 40 мин. [Показать отчёт]
Научился: Вроде все известно. 
Сложности: Все понятно. 
Комментарии: Нет замечаний. 
7 Структура vs Класс 00:25:05 89 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 20 мин. [Показать отчёт]
Научился: Лучше понимать отличие структуры и класса. 
Сложности: Все понятно 
Комментарии: Нет замечаний. 
8 Пиксели для классов 00:14:44 87 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 40 мин. [Показать отчёт]
Научился: Один конструктор вызывает другой конструктор. 
Сложности: Все понятно. 
Комментарии: Нет замечаний. 
9 Расстояние между пикселями 00:12:12 86 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Замысловатые конструкторы. 
Сложности: Вроде понятно. 
Комментарии: Нет замечаний 
10 Цветные карандаши 00:14:54 84 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 40 мин. [Показать отчёт]
Научился: Больше представлений о ООП. 
Сложности: Все понятно. 
Комментарии: Нет замечаний. 
11 Рисуем Снеговика 00:14:40 83 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Вроде все известно. 
Сложности: Все понятно. 
Комментарии: Нет замечаний. 
12 Второй Снеговик 00:09:46 83 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 20 мин. [Показать отчёт]
Научился: Все известное. 
Сложности: Все понятно. 
Комментарии: Для изменения, добавить цикл в котором будут изменяться координаты. 
13 Богатое наследство 00:12:53 82 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 20 мин. [Показать отчёт]
Научился: Представление о наследовании. 
Сложности: Все понятно. 
Комментарии: Нет замечаний. 
14 Фигуральный базовый класс 00:10:56 81 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Как в массив классы поместить. 
Сложности: Как функцию написать, вроде приводить надо (нисходящие привидение). 
Комментарии: Нет замечаний. 
15 Рисователь снеговиков 00:11:51 81 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Определение типа объекта. 
Сложности: Все понятно. 
Комментарии: А есть команды As Is их разве нельзя в данном случае применять? position от нее наверно будем координаты отсчитывать. 
16 Переезд метода Draw 00:11:54 80 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Пока все известно. 
Сложности: Все понятно. 
Комментарии: Нет замечаний. 
17 Переезд graph в базовый класс 00:13:10 80 чел. ★ 5 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Все известно. 
Сложности: Все понятно. 
Комментарии: Нет замечаний. 
18 Мощь полиморфизма 00:09:01 77 чел. ★ 5 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Наглядное представление о полиморфизме. 
Сложности: Все понятно. 
Комментарии: Нет замечаний. 
19 Спрайт для Снеговика 00:12:28 77 чел. ★ 5 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Все известно. 
Сложности: Все понятно. 
Комментарии: Нет замечаний. 
20 Перемещение круга 00:11:42 76 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Все известно. 
Сложности: Все понятно. 
Комментарии: Нет замечаний. 
21 Перемещение других фигур 00:08:37 76 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Все известно. 
Сложности: Все понятно. 
Комментарии: Нет замечаний. 
22 Перемещение Снеговиков 00:10:48 75 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: virtual методы. 
Сложности: Все понятно. 
Комментарии: Нет замечаний. 
23 ПОЛУФИНАЛЬНЫЙ УРОК. 68 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 20 мин. [Показать отчёт]
Научился: Все известно. 
Сложности: Все понятно. 
Комментарии: Понравилось наглядное, на примерах показано преимущество ООП, как пользоваться его принципами. Можно было бы какие то темы подробней осветить. Например есть конструкции Get Set. Мы ими почему то не пользовались, сами писали. Это не плохо, если было бы предисловием к пояснению, зачем эти готовые нужны. А так в принципе нормально.  
24 Интерфейс. Зачем он нужен. 00:09:33 65 чел. ★ 4.8 Done
  Отчёт отправил: 9732. Андрей Решено за 10 мин. [Показать отчёт]
Научился: Все известно пока. 
Сложности: Все понятно. 
Комментарии: Чтобы реализовать в классе разную функциональность, изменяемую за счет полиморфизма. 
25 Интерфейс. Правила игры. 00:12:23 65 чел. ★ 5 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Лучшее представление об интерфейсах. 
Сложности: Попытался реализовать методы, не до конца разобрался. На изображении видно. 
Комментарии: Нет замечаний. 
26 Интерфейс. Алгоритм игры. 00:07:48 64 чел. ★ 5 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Реализовали методы. 
Сложности: Все понятно. 
Комментарии: Нужно создать класс для игрока, реализовать в нем интерфейс. 
27 Интерфейс. Создаём кружок. 00:08:36 63 чел. ★ 5 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Все известное пока. 
Сложности: Все понятно. 
Комментарии: Создать объекты кружка разместить на форме. 
28 Интерфейс. Площадка для игры. 00:11:58 62 чел. ★ 5 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Графические объекты NET еще раз посмотрел. 
Сложности: Графические объекты NET чуть замысловато. 
Комментарии: Как запустить не сообразил. По идее Arena надо на форме разместить. 
29 Интерфейс. Кружок на площадке. 00:11:49 61 чел. ★ 5 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Раньше никогда не создавал метод который возвращает объект класса. 
Сложности: Все понятно. 
Комментарии: Нет замечаний. 
30 Интерфейс. Запускаем кружки на площадку! 00:11:49 61 чел. ★ 5 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Лучшее понимание как связать разные классы. 
Сложности: Все понятно. 
Комментарии: А почему мы не сделали класс Arena целиком статистическим? 
31 Интерфейс. Кружок хочет играть. 00:09:42 61 чел. ★ 4.9 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Пока все известно. 
Сложности: Все понятно. 
Комментарии: Надо расстояние между Голя и не Голя определять.  
32 Интерфейс. Кружок готов к игре! 00:20:47 60 чел. ★ 5 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Все известно пока. 
Сложности: Все понятно. 
Комментарии: Надо кружки добавлять в List и вызывать метод Беги. 
33 Интерфейс. Кружочки гоняются друг за другом. 00:11:53 60 чел. ★ 5 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Лучшее понимание взаимодействие между классами. 
Сложности: Все понятно. 
Комментарии: Хотел спросить. Программа разрастается и уже становиться сложней помнить в каком классе какие методы, как они взаимосвязаны. Вы наверно когда на ходу все это делаете, помните все это за счет того, что уже много сделали подобных программ (наверно). Читал про UML, но может что то еще тут посоветуете, как с эти лучше справляться. 
34 Интерфейс. Изменяем правила игры. 00:10:22 59 чел. ★ 5 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Все известно пока. 
Сложности: Все понятно. 
Комментарии: Можно как то усложнить поведение, менять размеры, какие то дополнительные условия, сколько поймал. 
35 Интерфейс. Создаём новую игру. 00:12:31 58 чел. ★ 5 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Все известное пока. 
Сложности: Как проверять и добавлять в коллекцию одновременно ошибка получается. 
Комментарии: Нет замечаний. 
36 Интерфейс. ФИНАЛЬНЫЙ УРОК. 00:13:05 54 чел. ★ 5 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Новые функции коллекций NET. 
Сложности: Все понятно. 
Комментарии: В уроках правится то что написание программы происходит наглядно. Занимаясь по книжкам какие то детали упускаешь. Экономия усилий, времени. 
37 Интерфейс. VIP. Квадратики тоже хотят играть. 00:16:23 55 чел. ★ 5 Done
  Отчёт отправил: 9732. Андрей Решено за 30 мин. [Показать отчёт]
Научился: Все известно пока. 
Сложности: Все понятно. 
Комментарии: Нет замечаний. 
38 Интерфейс. VIP. Пересечение прямоугольников. 00:09:47 52 чел. ★ 5 $
39 Интерфейс. VIP. Тяжёлая дружба кругов и квадратов. 00:22:25 44 чел. ★ 5 $
  Итого:   39 видеоуроков общей продолжительностью 7 час. 40 мин. 44 чел. ★ 4.94  
  Финалисты:   lomik,   Роман,   Максим Базуев,   Neverwinter 2,   Владимир,   Никита,   Олюшка,   Валера Луцевич,   Anton Sozykin,   Permitin Alexey,   Артём,   Максим Лапшинов,   Frank,   Archi,   Александр Львович,   Ильшат,   Олег Михайлович,   Дмитрий,   Новопашин Владимир,   Евгений,   Сергей Соколов,   Александр Б.,   Максим Саратов,   Алексей В.,   Александр,   Rita,   Станислав,   Алексей Хонин,   Ludmila,   Yefim,   Сергей Зулкарнаев,   Сергей Аникин,   Константин,   Tekashnik,   Артем Посунько,   Андрей Козлов,   kalobyte,   Sergio,   Алексей Малышев,   Александр,   Сергей Стефаненко,   Николай Денисов,   Анатолий,   Денис .

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




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

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

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

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