Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VSRPP.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
181.63 Кб
Скачать
  1. Классы. Использование класса

Чтобы использовать класс после объявления (то есть, получить доступ к его открытым экземплярным элементам3), необходима переменная класса – объект. Объект объявляется как обычная переменная:

<имя класса> <имя объекта>;

Так как класс – ссылочный тип, то объекты должны быть инициализированы до непосредственного использования. Для инициализации объекта используется операция new ‑ вызов конструктора класса. Если конструктор не описывался, применяется предопределенный конструктор без параметров с именем класса:

<имя объекта> = new <имя класса>();

Инициализацию объекта можно совместить с его объявлением:

<имя класса> <имя объекта> = new <имя класса>();

Доступ к элементам класса через объект осуществляется по синтаксису <имя объекта>.<имя элемента>.

  1. Методы. Описание метода. Вызов метода

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

Описание метода

Рассмотрим общий синтаксис описания метода:

<модификаторы> <тип> <имя метода>([<параметры>]) <тело метода>

Здесь <тип> – это тип возвращаемого методом значения. Допустимо использование любого примитивного или пользовательского типа. В C# формально не существует процедур – любой метод является функцией, возвращающей значение. Для «процедуры» в качестве типа указывается специальное ключевое слово void. После имени метода всегда следует пара круглых скобок, в которых указывается список формальных параметров метода (если этот список не пуст).

Список формальных параметров метода – это набор элементов, разделенных запятыми. Каждый элемент имеет следующий формат:

[<модификатор>] <тип> <имя формального параметра> [= <значение>]

Существуют четыре вида параметров, которые специфицируются модификатором:

  1. Параметры-значения – объявляются без модификатора;

  2. Параметры, передаваемые по ссылке – используют модификатор ref;

  3. Выходные параметры – объявляются с модификатором out;

  4. Параметры-списки – применяется модификатор params.

Параметры, передаваемые по ссылке и по значению, ведут себя аналогично тому, как это происходит в других языках программирования. Выходные параметры подобны ссылочным, то есть при работе с ними в теле метода не создается копия фактического параметра. Компилятор отслеживает, чтобы выходным параметрам в теле метода обязательно было присвоено значение.

Параметры-списки позволяют передать в метод любое количество аргументов. Метод может иметь не более одного параметра-списка, который обязательно должен быть последним в списке формальных параметров. Тип параметра-списка объявляется как массив, и работа с таким параметром происходит в методе как с массивом. Каждый аргумент из передаваемого в метод списка ведет себя как параметр, переданный по значению.

Рассмотрим несколько примеров объявления методов.

1. Простейшее объявление метода-процедуры без параметров:

void SayHello()

{ Console.WriteLine("Hello!");}

2. Метод без параметров, возвращающий целое значение:

int ReturnInt()

{ Console.WriteLine("Hello!");

return 5;}

3. Функция Add() выполняет сложение двух аргументов:

int Add(int a, int b)

{ return a + b;}

C# позволяет выполнить перегрузку методов в пользовательских типах. Перегруженные методы имеют одинаковое имя, но разную сигнатуру. Сигнатура – это упорядоченный набор из модификаторов и типов формальных параметров. Если две версии перегруженного метода различаются только модификатором params.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]