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

Формула программиста

основатель — Волосатов Евгений Витольдович

Клуб формулистов - Ежемесячная подписка

Вступление в Клуб Формулистов на выгодных условиях для НОВЫХ участников.

После взноса  999  499 руб. вы получите подписку
в Клуб Формулистов на 30 дней и 256 байт для быстрого старта.
Байты используются для открытия более одного урока в день, по 50 байт за урок.

Стоимость 1 дня за первый месяц: всего 16 рублей.

Первый взнос - 499 руб./30 дней.

Через 30 дней будет списано 3,000 2,400 руб.
за продление подписки в Клуб на 30 дней + подарок 512 байт.

Так будет продолжаться каждые 30 дней, пока вы не отмените подписку.
Средства будет автоматически считываться с вашей карты.
Вы в любой момент сможете отказаться от продления Клуба.

Только ДО КОНЦА НЕДЕЛИ -
-50% скидка на первый взнос, всего 499 (вместо 999) рублей!
-20% скидка на ЕЖЕМЕСЯЧНЫЙ платёж!
Всего 2400 руб/месяц (вместо 3000 руб/месяц), или 80 руб./день - цена чашки кофе.


Стоимость 1 дня: 80 руб.

Хочу вступить!

Также есть другие варианты оплаты участия в КФ:

Билет в клуб формулистов на ...
30+ дней | 60 дней | 150 дней | 380 дней | 1000 дней

Внимание!
Стоимость участия в Клубе формулистов увеличивается 1 числа каждого месяца на 100 рублей.
При оформления подписки стоимость остаётся постоянной, пока подписка не будет отменена.







Первый взнос - 499 руб./30 дней + 500 байт.
Последующие взносы - 3,000 2400 руб./месяц + 512 байт.



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

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 CHESS - Классные фигуры 00:04:44
3 теста
41 чел. ★ 5 Done
  Создайте класс для каждой шахматной фигуры.
class Rook {} - ладья
Knight, конь
Bishop, слон
Queen, ферзь
King, король
Pawn, пешка
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 27 мин. [Показать отчёт]
Научился: rook == ладья, тура knight == конь, лошадь bishop == слон queen == ферзь, королева king == король pawn == пешка Взаимосвязь классов - одна и та же клетка не может одновременно быть занятой, более чем одной фигурой Методы потребуются для создания правил их перемещения  
2 CHESS - Координаты фигур 00:03:54
2 теста
40 чел. ★ 5 Done
  Добавьте в каждый класс следующие поля:
int x, y - координаты фигуры (от 1 до 8).
int price - ценность фигуры (в пешках).
void move () { } - метод для передвижения фигуры

Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 18 мин. [Показать отчёт]
Научился: rook(ладья) стоит 5 пешек knight(конь)стоит 3 пешки bishop(слон)стоит 3 пешки queen(ферзь)стоит 9 пешек король бесценен ) повторяющиеся поля конфигурации положения фигуры можно вынести в класс Config к примеру 
3 CHESS - Фигурное катание 00:08:50
3 теста
40 чел. ★ 5 Done
  Создайте класс Figure,
Переместите в него общие поля,
Создайте в нём абстрактный метод move(),
Сделайте класс Figure абстрактным.
Наследуйте каждую шахматную тварь от класса Figure.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 35 мин. [Показать отчёт]
Научился: абстрактный метод в базовом классе подразумевает его обязательное определение в классе-наследнике Если в классе Вы создали хоть один абстрактный метод - будьте любезны абстрактным объявить и класс, где появился абстрактный метод в описании абстрактного метода воздержитесь от использования фигурных скобок - они не нужны после названия абстрактного МЕТОДА и круглых скобок ставьте смело точку с запятой Полиморфизм чудит так: класс-наследник может запускать методы суперкласса, но если этот же самый метод переопределяется в самом классе-наследнике - запустится уже метод из класса-наследника И Обратно - удалили в наследнике метод, который есть и в суперклассе - при обращении к методу, отработает уже тот что в суперклассе (ведь переопределения в наследничке нетути) 
4 CHESS - Перебор фигур 00:09:28
1 тест
39 чел. ★ 5 Done
  На этом уроке мы увидим, в чём прелесть использования
базового абстрактного класса - у нас появится возможность
перебирать все фигуры по списку и выполнять для всех однотипные действия.
Без базового класса нам пришлось бы КАЖДЫЙ РАЗ выписывать все классы по отдельности...
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 44 мин. [Показать отчёт]
Научился: создали список фигур с помощью нового объекта ArrayList организовали перемещение фигур циклом для ArrayList в режиме отладки Step Into (F5) - продолжить со входом в функции 
5 CHESS - Чудеса Абстракционизма 00:06:22
3 теста
38 чел. ★ 5 Done
  Все кони ходят одинаково.
И чёрные, и белые.
То же касается и всех других фигур.
А вот правила передвижения пешек зависит от цвета.
Белые пешки двигаются вверх, чёрные - вниз.

Поэтому имеет смысл создать отдельные класса для белых и чёрных пешек.

Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 23 мин. [Показать отчёт]
Научился: процедурный метод - проверять пешки при каждом ходе с помощью метода boolean isWhite; ООП метод - не городить проверки пешек на цвет, а создать вообще разные классы для белых и для черных пешек. НЕ ЗАБЫВАЙ - создал абстрактный метод в классе - делай абстрактным и сам класс!! 
6 CHESS - Шахматный конструктор 00:13:03
1 тест
35 чел. ★ 5 Done
  На этом уроке мы создадим конструктор для каждой фигурной твари.
Особенно интересные конструкторы получатся у пешек.
Сделайте пошаговое выполнение программы,
чтобы проследить за каскадным вызовом конструктором.
Отчёт отправил: 17947. Dmitry Sinitsin Выполнено за 1 час. 19 мин. [Показать отчёт]
Научился: конструктор - аз есмь метод для создания нового объекта(ЭКЗЕМПЛЯРА КЛАССА), одноименный с названием класса(ДЛЯ УДОБСТВА ЕГО НАХОЖДЕНИЯ В КОДЕ) и не имеющий возвращаемого значения (ВОЗВРАЩАЕТСЯ НОВЫЙ ЭКЗЕМПЛЯР, СВЕРХ ЭТОГО НЕ НАТОЛКАЕШЬ) this.x = x; эквивалентно записи "ВЗЯТЬ ЗНАЧЕНИЕ ИКС ИЗ АРГУМЕНТОВ КОНСТРУКТОРА И ЗАПИХАТЬ ЭТО ЗНАЧЕНИЕ В ОДНОИМЕННУЮ ПЕРЕМЕННУЮ В ЭТОМ САМОМ КЛАССЕ" На первой иллюстрации (хвала Эклипсу) я поместил каретку на this.x, автоматически была подсвечена переменная, соответствующая инициализация int x Удобно для поиска и осознания! super (x, y);  - первой строкой в конструкторе класса-наследника вызывается конструктор фигуры в суперклассе 
  Итого:   6 видеоуроков 46 мин.
13 тестов
34 чел. ★ 5  
  Финалисты:   Stanislav Čuličkov,   Dmitrij Starikovič,   Zulchumor Kurbonova,   Новопашин Владимир,   Vladimir Falejev,   Michail Ostryj,   Sergej Piskun,   Aleksandra Kostrukova,   Jevgenij Kariagin,   Leonid Shevchenko,   Евгений Мехтиев,   Antonina Ignatjeva,   Auksė Cycarienė,   Иван Воронин,   Tekashnik,   Vladimir Fedotov,   Алексей В.,   Erik Obuchovič,   Сергей Соколов,   Станислав,   Сергей,   Максим Лапшинов,   Povilas Abramovicius,   Kiril Krutiajev,   Andrej Petrunev,   Aleksej Fiodorov,   Andrej Gladkov,   Sergej Šugajev,   Dmitry Sinitsin,   Chip,   Andrew,   grom518,   Anatoli,   Yefim .

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





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.


Научился: Что в абстрактном классе может быть абстрактный метод для будущей реализации у наследников.
Отличный урок, всё понятно, идём дальше.


Научился: Создал 6 классов в программе Java, буквально вывел на экран rook. Аналогично написал программу на Си, вместо магического числа после Rook@ вывел адрес этой переменной на стеке.