Программирование
Веб программирование

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

 
 

Всем привет! Я хочу вам показать как в C# осуществить перегрузку методов. Собственно в этом нет ни чего сложного и сверхъестественного но это очень удобно. Смысл перегрузки заключается в объявлении методов в пределах одного класса с одинаковыми именами. Тут надо знать вот что: Компилятор без ошибок перегрузит методы при следующих условиях 1) Типы параметров должны отличаться или количество параметров должно различаться Я покажу вам все на простом примере: Предположим нам нужен метод который будет возвращать нам абсолютное значение Но мы заведомо и не знаем какой тип данных мы будем ему передавать вот тут то и приходит на помощь перегрузка. Назовем его _abs

Вот код класса:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Overload
{
    class OverLoad
    {
        public int _abs(int value)
        {
            if (value < 0)
            {
                value = value * (-1);
            }
            
            return value;
        }
        public double _abs(double value)
        {
            if (value < 0)
            {
                value = value * (-1);
            }
           
            return value;
        }
        public long _abs(long value)
        {
            if (value < 0)
            {
               value = value * (-1);
            }
          
            return value;
        }
    }
}

Код Program.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Overload
{
    class Program
    {
        static void Main(string[] args)
        {
            OverLoad over = new OverLoad();
            Console.WriteLine("" + over._abs(-10.43523));
            Console.ReadKey();
        }
    }
}

Как вы можете заметить тут все предельно просто.


Есть вопросы? Спроси на нашем форуме!!
Kулхацкер [11.12.2012 14:41]

Перенесено в C#.

Спасибо! [15.12.2012 16:24]


Оставлять комментарии можно только зарегистрированным




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