ПРИМЕЧАНИЕ В ООП принято называть данные, относящиеся к классу, полями клас-
са, а функции, относящиеся к классу, — методами класса. Поля класса
и методы класса называются членами класса. Помимо полей и мето-
дов, классы в C# могут содержать свойства, индексаторы, события.
Все это тоже члены класса, и до них черед еще дойдет.
Но вернемся к нашей программе и разберем код класса HelloWindow. Опи-
сание класса начинается с ключевого слова class. После этого ключевого
слова указывается имя класса. Непосредственно код класса указывается
в блоке из фигурных скобок: открывающей { и закрывающей }.
ПРИМЕЧАНИЕ Эта пара фигурных скобок очень часто используется в C# для вы-
деления программных кодов. Место размещения фигурных скобок
крайне демократично – их можно располагать где угодно, лишь бы
последовательность скобок и команд была правильной.
Как отмечалось выше, класс может содержать данные и методы для их об-
работки. Класс HelloWindow состоит всего из одного метода, который на-
зывается Main().
ПРИМЕЧАНИЕ В книге мы будем указывать имена методов с пустыми круглыми
скобками. Эта хорошая традиция позволяет легко отличать названия
методов от названий переменных. Кроме того, она имеет достаточно
глубокий смысл, который станет понятен после того, как мы позна-
комимся с делегатами.
Метод Main() особенный. Это главный метод программы. Выполнение
программы означает выполнение метода Main(). Другими словами, когда
мы запускаем программу на выполнение, то на самом деле идет инструк-
ция выполнить программный код метода Main().
ПРИМЕЧАНИЕ Программа в C# может содержать (и обычно содержит) описание
нескольких классов. Но всегда есть один класс (который мы иногда
будем называть главным классом программы), в котором есть метод
Main(). Этот метод будет выполнен при выполнении программы.
Перед именем метода Main() указаны атрибуты static и void. Атрибут void означает, что метод не возвращает результат. Атрибут static означает, что
метод статический. О статических методах речь пойдет далее. Важным
Очень простая программа 33
следствием статичности метода является то обстоятельство, что для вызова
метода нет необходимости создавать объект класса, в котором описан метод.
Поэтому-то мы и описываем класс с методом Main(), но не создаем объект
класса. Тело метода (его программный код) заключается в фигурные скобки.
Код метода Main() состоит всего из одной команды MessageBox.Show("Всем
огромный привет!"). Команда заканчивается точкой с запятой — так закан-
чиваются все команды в C#. Как несложно догадаться, именно благодаря
этой команде на экране появляется диалоговое окно. Формально команда
означает следующее: из класса MessageBox вызывается статический метод
Show() с аргументом "Всем огромный привет!". Метод Show() описан в би-
блиотечном классе MessageBox. Согласно используемому в C# и стандарт-
ному для ООП точечному синтаксису при вызове метода указывается так-
же имя объекта (для нестатического метода) или класса (для статического
метода). Имя объекта/класса и имя метода разделяются точкой. Действие
метода Show() состоит в том, что он выводит на экран окно с текстом, ко-
торый указан аргументом метода. Для того чтобы компилятор смог узнать
класс MessageBox, в самом начале программного кода мы подключили про-
странство имен System.Windows.Forms.
ПРИМЕЧАНИЕ Концепция использования пространств имен в C# позволяет струк-
турировать и упорядочить все полезные классы, которые написаны
специально для того, чтобы наша жизнь стала проще. Все классы, которые идут в комплекте поставки с исполнительной системой C#
разбиты на группы, или пространства имен. Когда мы подключаем то
или иное пространство, мы фактически указываем компилятору, где
ему следует искать те классы, на которые мы ссылаемся.
Для подключения пространства имен используют инструкцию using, после которой указывается имя пространства. Одно пространство
может содержаться внутри другого. В этом случае иерархия про-
странств отображается с помощью точечного синтаксиса — как, например, в названии System.Windows.Forms. Обычно в программе
подключается сразу несколько пространств имен.