Перегрузка методов в C#

Лекции по предмету «Программирование»
Информация о работе
  • Тема: Перегрузка методов в C#
  • Количество скачиваний: 4
  • Тип: Лекции
  • Предмет: Программирование
  • Количество страниц: 2
  • Язык работы: Русский язык
  • Дата загрузки: 2015-01-04 00:06:17
  • Размер файла: 31.48 кб
Помогла работа? Поделись ссылкой
Информация о документе

Документ предоставляется как есть, мы не несем ответственности, за правильность представленной в нём информации. Используя информацию для подготовки своей работы необходимо помнить, что текст работы может быть устаревшим, работа может не пройти проверку на заимствования.

Если Вы являетесь автором текста представленного на данной странице и не хотите чтобы он был размешён на нашем сайте напишите об этом перейдя по ссылке: «Правообладателям»

Можно ли скачать документ с работой

Да, скачать документ можно бесплатно, без регистрации перейдя по ссылке:

Перегрузка методов в C#

Под перегрузкой методов (функций или подпрограмм) понимают наличие в системе нескольких подпрограмм с одинаковыми именами, но реализующих разные алгоритмы. Например, при объявлении классов могут быть оформлены несколько конструкторов (с параметрами и без параметров). Различаются такие подпрограммы списком параметров. Параметры отличаются либо типами, либо порядком следования типов, либо количеством. Имя подпрограммы и список параметров называется сигнатурой функции. В сигнатуру не входит тип возвращаемого значения. При вызове подпрограммы выполняется проверка типов фактических параметров и сверяется с сигнатурами имеющихся функций. Если соответствие найдено, вызывается соответствующая подпрограмма. Если соответствие не обнаружено ни для одной из имеющихся сигнатур, выдается сообщение о том, что метода (или, что то же самое, подпрограммы) с указанной перегрузкой нет.
Ниже приведены две подпрограммы, определяющие максимальное число. В первой подпрограмме (сигнатура max(double a, double b)) определяется максимальное из двух чисел, во второй подпрограмме (сигнатура max(double[ ] a) разыскивается максимальное число в массиве. При сравнении сигнатур видно, что первый параметр хотя и является типом double, но во второй функции – это массив, а второй параметр отсутствует.
class Program
{
public static double max(double a, double b) // Максимальное из двух чисел
{
return a > b? a: b;
}
public static double max(double[] a) // Максимальное число в массиве
{
double m; //
m = -1.0E100; // Кандидат на максимальное число
foreach (double x in a)
if (x > m) m = x;
return m;
}
static void Main()
{
double x, y;
double [ ] ar = { 1, 2.5, 4.2, 3.9 };// Объявление массива ar с инициализацией
Console.WriteLine("Введите 2 числа ( дробная часть отделяется запятой)");
x = double.Parse(Console.ReadLine());
y = double.Parse(Console.ReadLine());
Console.WriteLine(" Максимальное число из введенных = "
+ max(x, y)); // Вызов функции max с двумя числами
Console.WriteLine(" Максимальное число в массиве = "
+ max(ar)); // Вызов функции max для массива ar
Console.ReadKey();
}
}
Ниже представлен результат выполнения программы.

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

Перевод надписи: «Возвращает неотрицательное случайное число».
Вызов этой функции с одним параметром.

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

Перевод надписи: «Возвращает неотрицательное случайное число в заданном диапазоне».
minValue: Нижняя включаемая граница возвращаемого случайного числа.