Выбрать главу

Элементарная обработка событий ........................................................................... 203

Глава 6. Важные конструкции .................................................................211

Перечисления .................................................................................................................. 211

Знакомство со структурами ....................................................................................... 214

Абстрактные классы ...................................................................................................... 218

Интерфейсы ..................................................................................................................... 227

Интерфейсные переменные ....................................................................................... 237

Глава 7. Методы и классы во всей красе ...................................................242

Механизм передачи аргументов методам .............................................................. 242

Аргументы без значений и переменное количество аргументов ................... 251

Передача типа в качестве параметра ....................................................................... 256

Использование обобщенного типа данных ........................................................... 261

Обработка исключительных ситуаций ................................................................... 265

Многопоточное программирование ........................................................................ 273

Глава 8. Приложение с графическим интерфейсом: учебный проект .........280

Общие сведения о графических элементах .......................................................... 282

Программный код и выполнение программы ...................................................... 284

Наиболее значимые места программного кода .................................................... 300

Вместо заключения. Графический конструктор .........................................305

Создание простого окна с кнопкой .......................................................................... 306

ВСТУПЛЕНИЕ Язык

программирования C#

Наука — это организованное знание.

Г. Спенсер

У прогрессивного человечества, форпостом которого является армия про-

граммистов, есть такие чудесные языки программирования, как C++ и Java.

На первый взгляд может показаться, что этого вполне достаточно. Но не

все так просто.

Какой же язык программирования дополняет тандем из C++ и Java? Это

язык программирования C# (читается « си шарп»).

ПРИМЕЧАНИЕ Такое довольно оригинальное название языка программирования

имеет следующее не менее оригинальное объяснение. Как извест-

но, оператор инкремента ++, который используется в С++, Java и C#, предназначен  для  увеличения  на  единицу  операнда,  который  ис-

пользуется  с  этим  оператором.  Поэтому,  например,  название  С++

можно объяснить как «следующая версия после С». Язык C# — это

«следующая версия после С++». Символ # в данном случае интер-

претируется как два оператора инкремента ++, объединенных, путем

«сдвига»  и  «уплотнения»  четырех  плюсов  (по  два  плюса  в  ряд), в один символ.

Язык программирования C# достаточно молодой. Он создавался в конце

90-х годов прошлого столетия разработчиками из компании Microsoft. Од-

ним из отцов-основателей языка считается Андерс Хейлсберг — тот самый,

8

Вступление. Язык программирования C#

который создал себе имя как идейный архитектор таких чудесных проек-

тов, как Turbo Pascal и Delphi. Идеологически и синтаксически язык C#

близок к С++ и Java. Во всяком случае, если читатель знаком хотя бы с од-

ним из этих языков, он найдет для себя много знакомых пассажей. Все это

не случайно, поскольку язык C# является логическим продолжением язы-

ка C++ (во всяком случае, по мнению разработчиков языка) и в некотором

смысле конкурентом языка Java. Но обо всем по порядку.

Краткий курс истории языкознания

Разница между языками столь велика, что

одно и то же выражение кажется грубым

в одном языке, и возвышенным в другом.

Дж. Драйден

Вначале был язык программирования, и это был язык С. Затем появился

язык С++, который стал расширением языка С до объектно-ориентиро ван-

ной парадигмы. Другими словами, в языке С++ появилась возможность

использовать все ужасные атрибуты объектно-ориентрованного програм-

мирования (сокращенно ООП): классы, объекты, наследование и многое

другое. Поэтому язык С++ во многом стал «законодателем моды» и задал

стиль на годы вперед. Кроме того, принципиальная особенность языка С++

состоит в том, что это язык «переходной» — в С++ можно писать как про-

граммы в рамках парадигмы ООП, так и обычные программы, не имеющие

никакого отношения к ООП.

ПРИМЕЧАНИЕ Другими словами, при создании программного кода в С++ классы

и объекты можно использовать, а можно не использовать. В языках