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

  • docx
  • 27.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л2-003001.docx

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

Язык 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);