Читаем C#. Объектно ориентированное программирование полностью

Рис. 1.8.  Диалоговое окно сохранения проекта

ПРИМЕЧАНИЕ Если установлен флажок Создать каталог для решения, файлы проекта

будут сохраняться в отдельной папке. Значение в поле Имя решения

автоматически устанавливается таким же, как и имя проекта. Однако

значение поля Имя решения можно изменить. Значение в этом поле

определяет название папки, в которой будут храниться файлы про-

30

Глава 1. Информация к размышлению: язык C# и даже больше

екта. Название в поле Имя определяет, кроме прочего, имя испол-

нительного файла. Это файл с расширением .exe. Для выполнения

программы следует запустить на выполнение этот файл. При работе

со средой разработки все эти действия выполняются автоматически.

По умолчанию exe-файл находится в подкаталоге bin\Debug папки

с названием Имя решения\Имя.

С формальностями мы закончили. Теперь пора перейти к анализу про-

граммного кода (вспоминаем о листинге 1.1). Один важный момент от-

метим сразу: все, что начинается с двойной косой черты, является ком-

ментарием и компилятором игнорируется. Другими словами, следующие

инструкции предназначены исключительно для homo sapience, которые бу-

дут просматривать программный код:

// Описание класса:

// Главный метод программы:

// Отображение окна:

Как только компилятор в программном коде встречает две косые черты, он

игнорирует все, что находится справа от них (до конца строки).

ПРИМЕЧАНИЕ Это так называемые однострочные комментарии. Если в программный

код необходимо добавить комментарий, который занимает несколько

строк, обычно используют инструкции /* и */. Все, что находится

между этими инструкциями, является комментарием.

Если убрать комментарии, то непосредственно программный код состоит

из таких инструкций:

using System.Windows.Forms;

class HelloWindow{

static void Main(){

MessageBox.Show("Всем огромный привет!");

}

}

Командой using System.Windows.Forms подключается пространство имен, а все остальное — это описание класса HelloWindow. И с этого места, как

говорится, поподробнее.

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

ся описывать класс. Что же такое класс? Вопрос простой и одновремен-

но сложный. Мы прибегнем к аналогии. Допустим, нужно построить дом.

Дом строят из чего-то, то есть из строительных материалов. Рассмотрим

Очень простая программа           31

два способа постройки дома. Вариант первый: у нас есть кирпичи, оконные

рамы и дверные блоки. В этом случае мы из кирпичей выкладываем стены, вставляя дверные блоки и оконные рамы. Каковы преимущества данного

подхода? Выложить можно здание практически любой формы с любой

комбинацией и размещением дверей и окон. Каковы недостатки? Он, по-

жалуй, один: если здание очень большое, придется строить долго. К тому

же, если работают несколько бригад строителей, всяких нестыковок и бра-

ка будет более чем достаточно.

Вариант второй. Заказываем на заводе готовые панельные блоки: блок

с окном, блок с дверью, блок с дверью и двумя окнами, и т. д. Складываем

дом из блоков. Какие преимущества? Быстро и просто. Какие недостатки?

Далеко не все можно построить. Если, например, блоки цилиндрической

формы не заказали, то башню уже не построишь.

Постройка дома — это и есть написание программы. Кирпичи играют

роль данных, а двери и окна — это функции (процедуры), которые вы-

полняют некоторые действия. Первый способ построения дома соответ-

ствует классическому процедурному программированию, когда данные

и функции (процедуры) существуют независимо друг от друга и объе-

диняются вместе по потребности, по воле программиста. Этот подход

достаточно эффективен при написании не очень больших программ.

Если же программы большие, то в принципе несложно запутаться среди

огромного набора данных и списка функций. Поэтому при написании

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

программированию — то есть строят дом из блоков. Такой отдельный

блок в ООП называется объектом. В объекте спаяны воедино и данные, и функции — точно так же, как в строительном блоке объединены в одно

целое панели, оконные рамы и дверные проемы. Объект создается по об-

разцу. Этим образцом является класс. Аналог класса — это чертеж, по

которому на заводе изготовляется блок. Таким образом, класс задает

шаблон, по которому создаются объекты. Наличие класса не означает

наличие объекта, точно так же, как наличие чертежа не означает, что соз-

дан строительный блок. При этом создать объект без класса нельзя (во

всяком случае, в C#). На основании одного класса можно создать много

объектов, а можно не создать ни одного. Это именно наш случай — в про-

грамме мы описали класс, но объект на основании этого класса создавать

не будем.

В известном смысле класс напоминает описание типа данных, с той лишь

принципиальной разницей, что кроме непосредственно данных в класс

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных