Шаг 93.
Отличия между процедурами и функциями

    На этом шаге мы перечислим отличия процедур и функций.

    Структура описания процедур и функций приведена в 16 шаге. Напомним формат заголовков процедур и функций:

    procedure <Имя> (<Список  Формальных  Параметров>) ; 
    function <Имя> (<Список Формальных Параметров>) :  <Тип результата>;

    Объявление и работа с процедурами и функциями отличаются в следующем:

    Помимо указанных отличий между процедурами и функциями отметим еще особенности реализации функций в языке Object Pascal.


    В Object Pascal функция может возвращать значения практически любых типов (стандартных и определяемых пользователем), за исключением файловых и объектных типов "старой" объектной модели, объявляемых с помощью зарезервированного слова object.

    Для возврата результата функцией введена специальная переменная Result, которая представляет собой неявно объявляемую локальную переменную, имеющую такой же тип, как и возвращаемое функцией значение. Присваивание значения переменной Result эквивалентно присваиванию имени функции. Однако, в отличие от идентификатора функции, если Result встречается в правой части оператора присваивания, то происходит не рекурсивный вызов функции, а обращение к текущему значению Result.


    На следующем шаге мы рассмотрим виды параметров и способы их передачи.




Предыдущий шаг Содержание Следующий шаг