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

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

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

Теория ООП

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

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

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

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

1,000 p.


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

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

# Название видеоурока Решило Рейтинг Доступ
1 Инкапсуляция мечты 00:09:02 138 чел. ★ 4.8 Done
  Отчёт отправил: 6458. Илья Решено за 20 мин. [Показать отчёт]
Научился: Инкапсуляция - это упаковка. Скрытие детали реализации. Своего рода черный ящик. Соответственно, можно сказать, что инкапсуляция - защита данных.  
Сложности: всё понятно 
Комментарии: на тему инкапсуляции прикладываю фото конфет. Мы не знаем что там внутри. У одних это шоколад, у других глазурь, есть с орехами, а есть с изюмом).. спасибо, что ценник стал меньше).  
2 Урок рисования 00:08:10 122 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 20 мин. [Показать отчёт]
Научился: рисовать линии, квадраты. выбирать цвет и размер линий. 
Сложности: всё просто 
Комментарии:  
3 Первый класс 00:09:53 113 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 20 мин. [Показать отчёт]
Научился: создал класс линий, который содержит координаты. 
Сложности: всё просто 
Комментарии:  
4 Второй класс 00:09:13 108 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 15 мин. [Показать отчёт]
Научился: создал класс прямоугольников) 
Сложности: все просто 
Комментарии:  
5 Круглый класс 00:08:10 106 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 20 мин. [Показать отчёт]
Научился: рисовать окружность  
Сложности: всё просто 
Комментарии: я пока делаю немного другими размерами, но там размеры поменять не сложно). 
6 Структура пикселя 00:10:55 96 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 30 мин. [Показать отчёт]
Научился: создал структуру с координатами 
Сложности: найти свои ошибки). 
Комментарии:  
7 Структура vs Класс 00:25:05 89 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 50 мин. [Показать отчёт]
Научился: отличие структуры от класса. 
Сложности:  
Комментарии:  
8 Пиксели для классов 00:14:44 87 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 35 мин. [Показать отчёт]
Научился: поработал с конструкторами классов тк изменил тип переменной в них. 
Сложности: всё просто! 
Комментарии:  
9 Расстояние между пикселями 00:12:12 86 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 30 мин. [Показать отчёт]
Научился: вспомнил как рассчитывать расстояние между двумя точками)  
Сложности: всё просто 
Комментарии:  
10 Цветные карандаши 00:14:54 84 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 35 мин. [Показать отчёт]
Научился: рисовать разным цветом 
Сложности: ничего сложного. 
Комментарии:  
11 Рисуем Снеговика 00:14:40 83 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 1 час. 10 мин. [Показать отчёт]
Научился: рисовать 
Сложности: рассчитать координаты  
Комментарии: считал координаты с помощью калькулятора )) 
12 Второй Снеговик 00:09:46 82 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 30 мин. [Показать отчёт]
Научился: установил Sublime Text )) 
Сложности: всё просто. 
Комментарии: чтоб перемещать и изменять снеговика, нужно его запихнуть в отдельный класс, а координаты сделать относительными. значит рисовать целый снеговик, а не кусочки, а цвет попробовать менять с помощью обобщений Snowman. 
13 Богатое наследство 00:12:53 81 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 25 мин. [Показать отчёт]
Научился: Наследование: производный класс имеет доступ к членам базового класса, которые имеют модификатор доступа public, internal, protected или protected internal.  
Сложности: всё просто 
Комментарии:  
14 Фигуральный базовый класс 00:10:56 80 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 40 мин. [Показать отчёт]
Научился: создал массив типа Shape, который содержит разные фигуры! 
Сложности: всё просто. 
Комментарии: в методе Draw проверить тип и отрисовать в зависимости от фигуры.. правда в коде так сделать не получилось у меня ( 
15 Рисователь снеговиков 00:11:51 80 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 20 мин. [Показать отчёт]
Научился: GetType() и typeof!  
Сложности: просто 
Комментарии: position точка от которой будут отсчитываться другие наши точки. 
16 Переезд метода Draw 00:11:54 79 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 20 мин. [Показать отчёт]
Научился: перенес метод рисования окружности в класс окружности. 
Сложности: к чему такие сложности) 
Комментарии:  
17 Переезд graph в базовый класс 00:13:10 79 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 30 мин. [Показать отчёт]
Научился: Наследование это очень круто! ) 
Сложности: всё просто 
Комментарии:  
18 Мощь полиморфизма 00:09:01 76 чел. ★ 5 Done
  Отчёт отправил: 6458. Илья Решено за 40 мин. [Показать отчёт]
Научился: virtual/override и abstract/override. 
Сложности: ничего сложного. 
Комментарии: за 10 минут объясняются и показываются такие вещи, на которые тратят по два часа лекций!  
19 Спрайт для Снеговика 00:12:28 76 чел. ★ 5 Done
  Отчёт отправил: 6458. Илья Решено за 40 мин. [Показать отчёт]
Научился: немного работать с коллекциями 
Сложности: запомнить синтаксис  
Комментарии:  
20 Перемещение круга 00:11:42 75 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 40 мин. [Показать отчёт]
Научился: ещё раз порадовался наличию отдельных классов. это очень удобно. 
Сложности: всё просто 
Комментарии: вспоминая Анимированный кружок из наноигр, картинка в голове уже вырисовывается).  
21 Перемещение других фигур 00:08:37 75 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 15 мин. [Показать отчёт]
Научился: ничему) 
Сложности: всё просто. 
Комментарии: всё супер! 
22 Перемещение Снеговиков 00:10:48 74 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 40 мин. [Показать отчёт]
Научился:  
Сложности: видно что ЕВ устал от снеговиков). перемещении второго снеговика сделал относительным. чтоб менять только одну точку - на сколько переместить оба снеговика при нажатии кнопки. 
Комментарии: очень неожиданное окончание курса!! на 13 уроке - Богатое наследство - говорилось что необходимо реализовать перемещение снеговика, поворачивать и изменять размер. мы реализовали только перемещение и то не затёрли старый вариант.. не хватает 3-4 уроков чтоб довести программу до ума!. в целом, если откинуть неожиданный конец, курс очень понравился. одно дело читать про классы, наследование, полиморфизм, инкапсуляцию, и совсем другое работать с этим. спасибо.  
23 ПОЛУФИНАЛЬНЫЙ УРОК. 67 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 10 мин. [Показать отчёт]
Научился:  
Сложности:  
Комментарии: Теория ООП - это по моему личному рейтингу - самый крутой курс на проекте videosharp.info.. одно дело читать теорию в книжках и совсем по-другому работать с этим в живую на реальных примерах. курс построен таким образом, что сначала пишется много кода не правильно, а затем всё это причесывается с использованием наследования и полиморфизма.. считаю что этот курс должен быть пройден в обязательном порядке всеми новичками кто хочет погрузиться в язык c#. Большое спасибо, Илья Барушев.  
24 Интерфейс. Зачем он нужен. 00:09:33 64 чел. ★ 4.8 Done
  Отчёт отправил: 6458. Илья Решено за 10 мин. [Показать отчёт]
Научился: создавать интерфейс 
Сложности: всё просто 
Комментарии: Интерфейс - это обязательство которое реализует класс. 
25 Интерфейс. Правила игры. 00:12:23 64 чел. ★ 5 Done
  Отчёт отправил: 6458. Илья Решено за 20 мин. [Показать отчёт]
Научился: всё знакомо) 
Сложности: всё просто 
Комментарии: FindNewLeader() - перебираем коллекцию игроков, находим кто Голя. SetNewLeader(IИгрок gamer) - назначаем нового Голю) 
26 Интерфейс. Алгоритм игры. 00:07:48 64 чел. ★ 5 Done
  Отчёт отправил: 6458. Илья Решено за 15 мин. [Показать отчёт]
Научился: 1. leader типа интерфейса! 2. коллекция Игроков типа/реализующие интерфейс.  
Сложности: всё просто 
Комментарии: чтобы играть собственно нужно добавить объекты которые будут играть по нашим правилам и реализовывать интерфейс) 
27 Интерфейс. Создаём кружок. 00:08:36 62 чел. ★ 5 Done
  Отчёт отправил: 6458. Илья Решено за 10 мин. [Показать отчёт]
Научился: создали новый класс 
Сложности: всё просто) 
Комментарии: дальше нам нужно эти кружочки инстанцировать в цикле много раз и кидать на форму! может быть через массив. 
28 Интерфейс. Площадка для игры. 00:11:58 61 чел. ★ 5 Done
  Отчёт отправил: 6458. Илья Решено за 15 мин. [Показать отчёт]
Научился: понимать диаграммы классов! 
Сложности: всё просто 
Комментарии: класс Арена задаёт игровое поле). 
29 Интерфейс. Кружок на площадке. 00:11:49 60 чел. ★ 5 Done
  Отчёт отправил: 6458. Илья Решено за 15 мин. [Показать отчёт]
Научился: всё просто 
Сложности: всё супер) 
Комментарии:  
30 Интерфейс. Запускаем кружки на площадку! 00:11:49 60 чел. ★ 5 Done
  Отчёт отправил: 6458. Илья Решено за 20 мин. [Показать отчёт]
Научился: рисовать много кружков!)) 
Сложности: всё просто 
Комментарии: всё супер 
31 Интерфейс. Кружок хочет играть. 00:09:42 60 чел. ★ 4.9 Done
  Отчёт отправил: 6458. Илья Решено за 15 мин. [Показать отчёт]
Научился: реализовал интерфейс 
Сложности: всё просто 
Комментарии: всё супер 
32 Интерфейс. Кружок готов к игре! 00:20:47 59 чел. ★ 5 Done
  Отчёт отправил: 6458. Илья Решено за 25 мин. [Показать отчёт]
Научился: проверять тип объекта 
Сложности: не сложно 
Комментарии: всё супер 
33 Интерфейс. Кружочки гоняются друг за другом. 00:11:53 59 чел. ★ 5 Done
  Отчёт отправил: 6458. Илья Решено за 20 мин. [Показать отчёт]
Научился: проверка объекта с помощью Equals 
Сложности: всё просто 
Комментарии: всё супер. нужно добавить интервал времени в течении которого нельзя пересалить другого) 
34 Интерфейс. Изменяем правила игры. 00:10:22 58 чел. ★ 5 Done
  Отчёт отправил: 6458. Илья Решено за 15 мин. [Показать отчёт]
Научился: играть в шарики)) 
Сложности: всё предельно просто 
Комментарии: всё супер. игра такая: случайным образом появляется заражённый шарик и стоит на месте, кто в него врезается тоже заражается и замирает. периодически на поле можно добавить врача который лечит. игра 
35 Интерфейс. Создаём новую игру. 00:12:31 57 чел. ★ 5 Done
  Отчёт отправил: 6458. Илья Решено за 20 мин. [Показать отчёт]
Научился: всё просто 
Сложности: не сложно 
Комментарии: в методе SetNewVirus(IИгрок gamer) просто добавляем в коллекцию Вирусов игрока которого получаем в метод,  
36 Интерфейс. ФИНАЛЬНЫЙ УРОК. 00:13:05 53 чел. ★ 5 $
37 Интерфейс. VIP. Квадратики тоже хотят играть. 00:16:23 54 чел. ★ 5 $
38 Интерфейс. VIP. Пересечение прямоугольников. 00:09:47 51 чел. ★ 5 $
39 Интерфейс. VIP. Тяжёлая дружба кругов и квадратов. 00:22:25 43 чел. ★ 5 $
  Итого:   39 видеоуроков общей продолжительностью 7 час. 40 мин. 43 чел. ★ 4.94  
  Финалисты:   lomik,   Роман,   Максим Базуев,   Neverwinter 2,   Владимир,   Никита,   Олюшка,   Валера Луцевич,   Anton Sozykin,   Permitin Alexey,   Артём,   Максим Лапшинов,   Frank,   Archi,   Александр Львович,   Ильшат,   Олег Михайлович,   Дмитрий,   Новопашин Владимир,   Евгений,   Сергей Соколов,   Александр Б.,   Максим Саратов,   Алексей В.,   Александр,   Rita,   Станислав,   Алексей Хонин,   Ludmila,   Yefim,   Сергей Зулкарнаев,   Сергей Аникин,   Константин,   Tekashnik,   Артем Посунько,   Андрей Козлов,   kalobyte,   Sergio,   Алексей Малышев,   Александр,   Сергей Стефаненко,   Николай Денисов,   Анатолий .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: На примерах новых игр удалось глубже понять, что такое интерфейс. Теперь есть база для расширения своих познаний.
Трудности: Вообще я тут стал смотреть смотреть смотреть на код код код... И вижу что я не всё понимаю. Например gamers.Add(gamer); - команда добавляет нового игрока... А какого? Как это узнать? Что изначально в переменной gamer? причем эта переменная типа "Игрок" то есть типа интерфейс. Я так подозреваю, что я не знаю какое-то универсальное свойство списка. Но если это не так, поправьте меня, то есть если где то в программе мы это оговариваем особо.
Скриншотов программы не будет, потому что есть видео.
Научился: Реализовывать игру по новым правилам
Все Отлично!!! Курс замечательный. Мне очень понравился. Легко, непринужденно, доступно, просто. Не заметил, как вошел в курс дела. И пусть многое еще нужно изучить, но насчет интерфейсов можно поставить жирную точку. Рекомендую проходить этот курс начинающим программистам как можно раньше, многие вопросы отпадут сами собой. Евгению Витольдовичу процветания и роста.