Язык C# позволяет создавать несколько методов с одинаковыми име- нами, но разными параметрами. Компилятор автоматически подберет наиболее подходящий метод при построении программы. Например, мож- но написать два отдельных метода возведения числа в степень: для целых чисел будет применяться один алгоритм, а для вещественных – другой:
///
/// Вычисление X в степени Y для целых чисел
///
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;
}
///
/// Вычисление X в степени Y для вещественных чисел
///
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);
Достарыңызбен бөлісу: |