Перегрузка методов
Язык 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);
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.