ВУЗ:
Составители:
Рубрика:
91
public void C(){...};
Методы A и B являются закрытыми, а метод С – открыт. Методы A и С
реализованы процедурами, а метод B – функцией, возвращающей целое
значение.
Список формальных аргументов
Как уже отмечалось, список формальных аргументов метода может быть
пустым, и это довольно типичная ситуация для методов класса. Список может
содержать фиксированное число аргументов, разделяемых символом запятой.
Рассмотрим теперь синтаксис объявления формального аргумента:
[ ref | out | params ] тип_аргумента имя_аргумента.
Обязательным является указание типа и имени аргумента. Отметим,
никаких ограничений на тип аргумента не накладывается. Он может быть
любым скалярным типом
Несмотря на фиксированное число формальных аргументов, есть
возможность при вызове метода передавать ему произвольное число
фактических аргументов. Для реализации этой возможности в списке
формальных аргументов необходимо задать ключевое слово params. Оно
задается один раз и указывается только для последнего аргумента списка,
объявляемого как массив произвольного типа. При вызове метода этому
формальному аргументу соответствует произвольное число фактических
аргументов.
Содержательно, все аргументы метода разделяются на три группы:
входные, выходные и обновляемые. Аргументы первой группы передают
информацию методу, их значения в теле метода только читаются. Аргументы
второй группы представляют собой результаты метода, они получают значения
в ходе работы метода. Аргументы третьей группы выполняют обе функции. Их
значения используются в ходе вычислений и обновляются в результате работы
метода. Выходные аргументы всегда должны сопровождаться ключевым
словом out, обновляемые – ref. Что же касается входных аргументов, то, как
правило, они задаются без ключевого слова, хотя иногда их полезно объявлять
с параметром ref. Отметим, если аргумент объявлен как выходной с ключевым
словом out, то в теле метода обязательно должен присутствовать оператор
присваивания, задающий значение этому аргументу. В противном случае
возникает ошибка еще на этапе компиляции.
Для иллюстрации давайте рассмотрим группу методов класса Testing из
проекта ProcAndFun:
/// <summary>
/// Группа перегруженных методов A()
/// первый аргумент представляет сумму кубов
/// произвольного числа оставшихся аргументов
/// Аргументы могут быть разного типа.
Страницы
- « первая
- ‹ предыдущая
- …
- 85
- 86
- 87
- 88
- 89
- …
- следующая ›
- последняя »
