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

Функции

Функции представляют собой блоки кода, позволяющие выполнять одни и те же операции над различными значениями данных. Функции определяются один раз и могут вызываться из любой точки приложения.

Определение функции состоит из следующих элементов:

  • Два ключевых слова: static и типа возвращаемого значения (void, если ничего не возвращает).

  • Имя функции, за которым следуют круглые скобки, внутри которых размещаются параметры.

  • Заключенный в фигурные скобки блок кода, который подлежит выполнению.

Параметры в определении функции обычно называют формальными. Их имена используются в коде функции. При вызове функции на место формальных параметров подставляются их значения (фактические параметры), которые должны указываться точно так, как в определении функции, т.е. в соответствующем количестве и порядке.

Параметры, передаваемые функции, могут быть трех видов: параметры-значения, параметры-ссылки и выходные параметры.

При использовании параметра-значения в функцию передается копия значения переменной из вызывающей функции и ее изменение в функции не изменяет значение переменной в вызывающей функции.

При использовании параметров-ссылок и выходных параметров в функцию передается адрес переменной из вызывающей функции, что дает ей возможность доступа к самой переменной. Параметры-ссылки и выходные параметры используют модификаторы ref и out перед параметром как в определении, так и в вызове функции.

Существуют два важных отличия:

  • В качестве параметра ref применять неинициализированную переменную нельзя, а в качестве out – можно.

  • Параметр out должен трактоваться функцией, которая его использует, как не имеющий присвоенного значения.

Преимущества использования функций по сравнению с многократным использованием повторяющегося кода:

  • Так как код функции хранится в одном месте памяти, это существенно упрощает внесение в него изменений и позволяет при этом избежать множества возможных ошибок.

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

Предлагаемое рассмотрение функций охватывает следующие ключевые моменты:

  • Определение и использование функций в консольных приложениях.

  • Обмен данными с функциями через возвращаемые значения, параметры и глобальные переменные. Передача параметров по ссылке и по значению.

  • Использование параметров командной строки функции main().

  • Перегрузка функций.

Любой проект консольного или оконного типа должен иметь по крайней мере одну точку входа, определяемую статической функцией Main(). Каждая функция, в том числе и функция Main(), должна принадлежать какому-нибудь классу, т.е. быть методом. Функция Main() объявляется как статический метод, не требующий создания экземпляра (Instance) класса для ее вызова. (Внимание! В приложении, имеющем несколько классов, функция Main() может входить в несколько из них. В этом случае для определения единственной точки входа нужно определить через окно свойств проекта, какой именно класс будет стартовым для данного приложения.)

Обмен данными с функциями через возвращаемые значения, параметры и глобальные переменные.