Класс Program в C# (си шарп)
Май 11th, 2013
admin
Методы всегда находятся внутри декларации типа. Тип может быть классом (class) или структурой (struct) в С# (си шарп).
class Program
<
//Метод Main
>
Большинство типов объектов, которые вы создаете, будут представлять собой классы. Класс Program содержит метод Main. В состав класса Program можно добавить и другие методы или модуль (Module). На практике вы совершенно не обязаны использовать модули, а наоборот, вам следует предпочесть именно классы. Консольное приложение определяет заготовку кода класса, который получает имя Program. В действительности вы можете назвать класс как угодно. Какие бы имена вы не выбирали, желательно, чтобы они несли смысловую нагрузку и указывали на предназначение класса.
Например, если создаваемый класс предназначен для работы с заказчиками, вполне логично назвать его – Customer. Лучше всего, когда класс будет и должен содержать только методы, предназначенные для работы с заказчиками.
. классы в сишарп как добавить класс си шарп class program c#
Опубликовано в рубрике C# (си шарп)
Class program c что это
Учись бесплатно:
вебинары по программированию, маркетингу и дизайну.
Хотите создать сайт или игру? Или написать мобильное приложение? А может, вы мечтаете программировать многопоточные сервисы? Тогда вам точно стоит освоить C#. Язык вобрал в себя лучшее от Java и С++ и применяется во всех сферах: от веб-разработки до геймдева. Освойте C# с нуля до уровня Pro, примите участие в командной разработке мессенджера и станьте классным программистом на востребованном языке.
Классы и объекты C#
Язык C# является объектно-ориентированным языком программирования. Это значит, что любую программу (проект) на языке C# можно представить в виде одного или нескольких объектов, которые могут взаимодействовать между собой. Пониманием того, как объявить класс и наделить его определенными свойствами, создать и управлять объектами в C# можно считать одними из главных задач при изучении этого языка программирования. До сих пор мы хоть и использовали в изучении основ C# классы и объекты, но особо и не задумывались об этом, так как всё наше внимание было уделено изучению отдельных типов данных, которые можно назвать примитивными. Сегодня же мы начнем разбираться с такими пользовательскими типами данных как классы и научимся создавать пусть и простые, но объекты C#.
Класс и объект: в чем отличие?
Вообще, когда читаешь различную литературу по программированию на любом объектно-ориентированном языке программирования будь то C# или Delphi и доходишь до главы про классы и объекты, то невольно начинаешь теряться и путаться в определениях, что такое класс, а что такое объект и чем они отличаются. Самое легкое объяснение,которое мне встречалось звучало так: «Описанием объекта является класс , а объект представляет экземпляр этого класса«. Проще не придумать. Но это, если иметь хотя бы малейшее представление о программировании, а если таковых представлений нет?
В свое время, для самого себя я провел следующую аналогию между классами и объектами в программировании и материальным миром: есть чертеж, например, дома, а есть сам дом. Чертеж может содержать описание свойств дома (длина, ширина, высота и т.д.). Так вот, чертеж — это класс, а дом — это объект (реальная сущность, которую можно измерить, потрогать и так далее). Конечно, это очень упрощенная аналогия, не в полной мере описывающая что такое класс,а что такое объект, но, тем не менее, для начала изучения классов и объектов нам этого должно хватить.
Описание класса в C#
Класс в C# -это пользовательский тип данных. До сих пор мы оперировали встроенными типами данных типа целых чисел, массивов и так далее. Сейчас же мы будем создавать собственный тип данных. В самом общем случае, для описания класса в C# используется следующая конструкция:
Ключевым словом class мы указываем на то, что создаем тип данных — класс. Далее идёт название класса,а в фигурных скобках указываются поля, свойства, методы класса и прочие интересные вещи с которыми мы будем постепенно знакомиться.
Где можно размещать классы? Вообще, в C# нет чёткого требования к тому где и как размещать новые классы — вы можете размещать их в пространстве имён, вне пространства имен в отдельных или в одном файле программы и так далее. Однако, по негласному правилу и для дальнейшего удобства поддержки вашего проекта, рекомендуется размещать каждый класс в отдельном файле. Давайте создадим наш первый класс и посмотрим как с ним можно работать.
Первый класс в C#
Раз уж в начале шла речь про чертежи и дома, то пусть наш первый класс и будет описаться дом. Создаем новый проект консольного приложения C#. Перед нами откроется, как обычно, редактор кода с открытым файлом Program.cs :
Своё приложение я назвал FirstClass . Теперь мы могли бы объявить наш новый класс прямо в этом файле, но я бы рекомендовал сразу привыкать к вышеизложенному правилу: 1 файл = 1 класс, поэтому кликаем правой кнопкой мыши по названию проекта в «Обозревателе решений» Visual Studio и выбираем пункт меню «Добавить — Создать элемент»:

В появившемся окне выбираем первый пункт — «Класс» и в самом низу окна задаем название файла. Например, я дал файлу название «Building.cs»

Нажимаем кнопку «Добавить» и Visual Studio создаст нам новый файл следующего содержания:
Обратите внимание, что, по умолчанию, наш новый класс получил имя по имени файла ( Building ) и размещен он в том же пространстве имен, что и класс Prorgam нашего приложения. Теперь нам необходимо наделить наш класс определенной функциональностью. Вся функциональность класс представляется его членами — полями, свойствами, методами и событиями. О каждом из членов класса мы поговорим подробнее, а сегодня воспользуемся только двумя из них — полями и методами.
Поле класса (или второе название — атрибут) — это переменная , описание которой мы даем при создании класса. Например, здание ( Building ) имеет свою ширину, длину и высоту. Создадим три поля:
Теперь наш класс содержит три поля, в которых будут храниться данные о нашем здании.
Будем считать, что все здания имеют прямоугольную форму, напишем метод, позволяющий рассчитать объем нашего здания:
Итак, мы создали новый тип данных — класс Building . Для того, чтобы использовать возможности этого класса в своем приложении, мы должны создать переменную этого типа (объект) и инициализировать её. Для инициализации объектов используются специальные методы — конструкторы.
Конструкторы
Конструкторы вызываются при создании нового объекта и используются для его (объекта) инициализации. По умолчанию любой класс C# имеет хотя бы один конструктор.
Конструктор по умолчанию
Конструктор по умолчанию не имеет ни параметров ни тела. Если вы при описании класса не создаете свой конструктор, то при создании объекта используется конструктор по умолчанию. Например, создадим объект здания, используя конструктор по умолчанию. Для этого, кликните в обозревателе решений левой кнопкой мыши по файлу «Program.cs» и напишите следующий код:
Здесь мы объявили переменную (объект) building типа Building (нашего класса) и инициализировали её, используя конструктор по умолчанию. Чтобы создать объект мы использовали ключевое слово new (этот оператор выделяет память для нового объекта) и для вызова конструктора поставили после названия класса круглые скобки. После этого, переменная building будет содержать ссылку на объект в памяти. Во второй строке мы вывели в консоль объем нового здания. Ну, а так как по умолчанию у нас все переменные вещественного типа инициализируются значением 0 , то при запуске приложения мы увидим в консоли вот такую запись:
Собственные конструкторы
Для класса в C# можно создать любое количество своих конструкторов. Например, создадим такой конструктор для нашего класса:
Обратите внимание, что название конструктора должно полностью совпадать с названием класса. В остальном, конструктор ничем не отличается от методов C# о которых мы уже говорили. В нашем конструкторе я использовал ключевое слово this , которое представляет ссылку на текущий экземпляр класса. Это ключевое слово может использоваться для различных нужд, но, конкретно в данном случае я использовал this потому что имена параметров у конструктора полностью совпадают с именами полей класса. Если бы я не использовал this , то компилятор не понял, что я хочу сделать (присвоить полю класса значение параметра метода) и предложил бы избавиться от лишнего присваивания:
Об этом ключевом слове мы ещё поговорим, а пока вернемся к нашему классу. После того как вы создадите свой конструктор конструктор по умолчанию перестанет использоваться и вы увидите в списке ошибок в Visual Studio следующую ошибку:
Наш конструктор должен содержать три обязательных параметра и теперь создать объект класса мы можем, например, так:
Как и в любом методе в C#, мы можем определить в конструкторе необязательные параметры. Например, так:
И теперь два следующих объекта будут абсолютно идентичны:
Объем второго здания: 1200
Инициализаторы объектов
Инициализаторы объектов позволяют присваивать значения всем доступным извне полям и свойствам объекта в момент его создания без явного вызова конструктора. Чтобы продемонстрировать использование инициализаторов объектов, изменим наш класс следующим образом: во-первых, все поля класса сделаем доступными извне — добавим им модификатор public и, во-вторых, напишем ещё один конструктор:
Второй конструктор также использует ключевое слово this , то есть, при вот таком создании объекта:
будет вызван наш первый конструктор с параметрами 20, 20, 3 . Теперь посмотрим, как мы можем воспользоваться инициализатором объекта:
Здесь мы в фигурных скобках указали значение всем публичным полям класса и без явного вызова конструктора создали объект. При этом следует учитывать следующие особенности инициализатора объектов:
- используя инициализатор мы можем установить значения только доступных из внешнего кода полей и свойств объекта. Именно поэтому мы добавили к нашим полям модификатор public .
- несмотря на то, что явного вызова конструктора не было, конструктор вызывается (в нашем примере был вызван второй конструктор — без параметров) и только после вызова конструктора выполняется инициализатор. Таким образом, мы перезаписали поля нашего объекта в инициализаторе.
Проверить второй пункт достаточно просто — создадим снова два объекта зданий: один — с конструктором, второй — с инициализатором и посмотрим на вывод консоли:
Объем второго здания: 1200
Как видите, инициализатор объекта перезаписал значение полей и в консоли мы увидели значение 6000 .
Итого
Итак, сегодня мы познакомились с основными моментами создания классов и объектов в C#, создали свой первый класс и научились использовать конструкторы и инициализаторы объектов. Однако, изучение классов и объектов C# на этом не заканчивается. В следующий раз поговорим о свойствах и модификаторах доступа.