Методы класса

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

Методы определяют набор действий, которые доступны классу (часто говорят, что они определяют поведение класса).

Метод описывается один раз, а может вызываться для различных объектов класса столько раз, сколько необходимо.

Общий формат записи методов класса имеет следующий вид:

[ атрибуты ] [ спецификаторы ] тип метода имя метода ([ параметры ])

{тело метода}

Например,

static void Main(string[] args)

{ }

Наиболее часто встречаемые спецификаторы это private, public и static.

Любые методы класса, объявленные со спецификаторомprivate, доступны только в методах данного класса.

Спецификатор public делает метод доступным в любом месте программы.

Спецификатор static означает, что к методу можно обращаться «на уровне класса» не создавая объект класса – это очень важно, так как в данной дисциплине мы будем очень часто использовать статические методы.

Другими методами доступными программе без создания объекта класса являются конструкторы класса (они и создают объект).

Доступ к остальным методам возможен только после создания объекта класса.

Если спецификатор не указан то (по умолчанию) считается, что данный метод класса имеет спецификатор private.

Тип метода может задаваться любым определенным в программе или стандартным типом языка C# или void – без типа. Например:

int kol(int a) { … }

public double sym(out float r) { … }

public void poisk(ref float s) { … }

public int funkcij(int a, out int b, params int[] c) { … }

Если задан тип метода (кроме void), то последним оператором тела метода должен быть оператор return, возвращающий результат работы метода. При этом метод необходимо присваивать некоторой переменной или использовать как выражение в операторах языка C#. Часто такие методы называют функциями.

Если перед методом указан тип void, то метод не должен возвращать результат своей работы с помощью оператора return (оператор return в этом случае отсутствует в теле метода). Часто такой метод называют процедурой – ее не надо присваивать переменной, а можно записывать как отдельную подпрограмму – процедуру (имя метода с указанием в круглых скобках ее параметров).

Имя метода – идентификатор, определяемый программистом. Желательно в имя метода закладывать смысловое назначение метода, например, sym, max, poisk и т.д.

Параметры метода (формальные параметры) предназначены для обмена данными между методом и программой. Часто параметры метода называют средством «настройки» метода на выполнение необходимого алгоритма.

В языке С# различают следующие параметры методов:

– параметры-значения (входные параметры, т.е. получаемые методом);

– выходные-параметры (помечаются служебным словом out);

– параметры-ссылки (помечаются служебным словом ref);

– параметры-массивы (помечаются служебным словом params).

Параметры-значения не имеют помечающего служебного слова.

Параметры метода класса разделяются запятыми. Параметр-массив в методе может быть только один и должен быть последним в списке параметров.

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

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

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

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

Таким образом, через свои параметры метод может, как получать необходимые значения (параметры - значения и параметры - ссылки), так и возвращать результаты своей работы (выходные-параметры и параметры -ссылки).

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: