Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Лабораторная работа 12. Методы
Цель лабораторной работы: научиться работать с методами, написать программу с использованием методов. Общие понятия Метод – это элемент класса, который содержит программный код. Метод имеет следующую структуру:
[атрибуты] [спецификторы] тип имя ([параметры]) { Тело метода; }
Атрибуты – это особые указания компилятору на свойства метода. Атрибуты используются редко. Спецификаторы – это ключевые слова, предназначенные для разных целей, например: · Определяющие доступность метода для других классов: o private – метод будет доступен только внутри этого класса o protected – метод будет доступен также дочерним классам o public – метод будет доступен любому другому классу, который может получить доступ к данному классу · Указывающие доступность метода без создания класса · Задающие тип Тип определяет результат, который возвращает метод: это может быть любой тип, доступный в C#, а также ключевое слово void, если результат не требуется. Имя метода – это идентификатор, который будет использоваться для вызова метода. К идентификатору применяются те же требования, что и к именам переменных: он может состоять из букв, цифр и знака подчёркивания, но не может начинаться с цифры. Параметры – это список переменных, которые можно передавать в метод при вызове. Каждый параметр состоит из типа и названия переменной. Параметры разделяются запятой. Тело метода – это обычный программный код, за исключением того, что он не может содержать определения других методов, классов, пространств имён и т. д. Если метод должен возвращать какой-то результат, то обязательно в конце должно присутствовать ключевое слово return с возвращаемым значением. Если возвращение результатов не нужно, то использование ключевого слова return не обязательно, хотя и допускается. Пример метода, вычисляющего выражение:
public double Calc(double a, double b, double c) { if (a > b) return Math.Sin(a) * Math.Cos(b); else { double k = Math.Tan(a * b); return k * Math.Exp(c / k); } }
Перегрузка методов Язык C# позволяет создавать несколько методов с одинаковыми именами, но разными параметрами. Компилятор автоматически подберёт наиболее подходящий метод при построении программы. Например, можно написать два отдельных метода возведения числа в степень: для целых чисел будет применяться один алгоритм, а для вещественных – другой:
/// <summary> /// Вычисление X в степени Y для целых чисел /// </summary> private int Pow(int X, int Y) { int b = 1; while (Y!= 0) if (Y % 2 == 0) { Y /= 2; X *= X; } else { Y--; b *= X; } return b; }
/// <summary> /// Вычисление X в степени Y для вещественных чисел /// </summary> private double Pow(double X, double Y) { if (X!= 0) return Math.Exp(Y * Math.Log(Math.Abs(X))); else if (Y == 0) return 1; else return 0; }
Вызывается такой код одинаково, разница лишь в параметрах – в первом случае компилятор вызовет метод Pow с целочисленными параметрами, а во втором – с вещественными: Pow(3, 17); Pow(3.0, 17.0);
Параметры по умолчанию Язык C# начиная с версии 4.0 (Visual Studio 2010) позволяет задавать некоторым параметрам значения по умолчанию – так, чтобы при вызове метода можно было опускать часть параметров. Для этого при реализации метода нужным параметрам следует присвоить значение прямо в списке параметров:
private void GetData(int Number, int Optional = 5) { Console.WriteLine("Number: {0}", Number); Console.WriteLine("Optional: {0}", Optional); }
В этом случае вызывать метод можно следующим образом: GetData(10, 20); GetData(10);
В первом случае параметр Optional будет равен 20, так как он явно задан, а во втором будет равен 5, т.к. явно он не задан и компилятор берёт значение по умолчанию. Параметры по умолчанию можно ставить только в правой части списка параметров, например, такая сигнатура метода компилятором принята не будет:
private void GetData(int Optional = 5, int Number)
|
|||||
Последнее изменение этой страницы: 2017-02-07; просмотров: 813; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.205.164 (0.007 с.) |