Параметры методов

Лабораторная работа № 1

Классы. Основные понятия

Цель работы:

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

Задачи:

1. Создать класс указанный в задании, содержащий конструктор, поля, перегруженные методы (примеры полей и методов даны в задании, можно создать поля и методы по своему усмотрению).

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

3. Выполнить требования к лабораторным работам (см. файл «Требования к лабораторным»);

4. Ознакомиться с литературой по теме лабораторной работы;

5. Подготовить ответы на контрольные вопросы.

Контрольные вопросы:

1. Что такое метод? Что такое возвращаемый тип, каким он может быть? Что значит void?

2. Что такое параметры метода, какие параметры бывают?

3. Что такое перегрузка методов и для чего она нужна?

4. Что такое класс? Какие члены класс может содержать?

5. Что такое конструктор, для чего служит, где вызывается?

6. Как создать экземпляр класса, как обратиться к полю класса, как вызвать метод класса?

7. Для чего служат модификаторы доступа private, public?

8. Для чего нужен тип данных enum?

Пояснения и примеры:

Методы

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

[ атрибуты ] [модификаторы ] возвращаемый_тип имя_метода ([ параметры ])

тело_метода

Квадратные скобки показывают, что атрибуты и модификаторы могут быть опущены при описании метода. Рассмотрим модификатор доступа, у него четыре возможных значения, два из них - public и private, рассмотрены ниже.

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

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

Имя метода и список формальных аргументов составляют сигнатуру метода. Заметьте, в

сигнатуру не входят имена формальных аргументов - здесь важны типы аргументов. В сигнатуру не входит и тип возвращаемого результата.

Несколько простейших примеров описания методов:

public void A()

{

Console.WriteLine(“A”)

}

int Summa (int a, int b)

{

Return a + b;

}

Параметры методов

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

Ключевое слово ref используется для передачи аргументов по ссылке. В результате все изменения параметра в методе будут отражены в переменной при передаче элемента управления обратно в вызывающий метод. Для работы с параметром ref определение метода м вызывающий метод должны явно использовать ключевое слово ref. Аргумент, передаваемый в параметр ref, сначала следует инициализировать.

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

Ключевое слово params позволяет определить параметр метода, принимающий аргумент, в котором количество аргументов является переменным. В объявлении метода после ключевого слова params дополнительные параметры не допускаются, и в объявлении метода допускается только одно ключевое слово params.

Примеры использования ключевых слов:

class OutExample{ static void Method(out int i) { i = 44; } static void Main() { int value; Method(out value); // value = 44 }} class RefExample{ static void Method(ref int i) { i = 44; } static void Main() { int val = 0; Method(ref val); // val = 44 }}public class MyClass { public static void UseParams(params int[] list) { for (int i = 0; i < list.Length; i++) { Console.Write(list[i] + " "); } Console.WriteLine(); } static void Main() { UseParams(1, 2, 3, 4); int[] myarray = new int[3] {10,11,12}; UseParams(myarray); }}

Результат работы программы:

1 2 3 4 10 11 12

Параметры являются необязательными, когда присутствует в объявлении значение по умолчанию. Например, ниже представлен метод, который принимает два параметра: строковый параметр “category” и целочисленный “pageIndex”. Параметр “pageIndex” имеет значение по умолчанию равное 0 и поэтому является необязательным параметром:


Когда вызываете выше приведенный метод, то мы можем передать явно два параметра:

Или же опустить второй необязательный параметр, в данном случае будет передано значение по умолчанию 0:


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



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