Перевантажені методи c #

Перевантажені методи c #

Всім доброго часу доби, на зв'язку Олексій Гулинін. У минулій статті ми дізналися про іменовані параметри в C #. В даній статті поговоримо про перевантажені методи в C #. Нагадаю, що метод - це функція, прив'язана до об'єкта або до класу, якщо це статична функція. Перевантаженим методом (overloaded method) називається кілька методів визначених у одному класі, з однаковим ім'ям, але з різним набором параметрів. Давайте на прикладі подивимося роботу перевантажених методів:

В даному випадку ми створили 3 методу в одному і тому ж класі Program з однаковим ім'ям, але з різним набором параметрів. Це і є перевантаження методів. Як компілятор розуміє який метод потрібно викликати? Компілятор викликає метод не на основі його (методу) імені, а на основі сигнатури. У сигнатуру входять: ім'я методу + набір типів параметрів. Коли ми пишемо ім'я методу - компілятор дивиться які параметри ми передаємо йому, і в залежності від цього, викликає відповідний метод. Хочу звернути увагу, що різними повинні бути саме ТИПИ параметрів. Якщо ми зробимо наступним чином, то виникне помилка:

Тут назва формальних параметрів у методу відрізняється, але тип однаковий. В обох випадках int. тому і виникне помилка на етапі компіляції. Назви параметрів важливі тільки всередині тіла методу.

Багато системні методи використовують перевантаження.

Якщо ви наберете Console.Writeline (. То далі IntelliSense запропонує варіанти використання даного методу. Як ми бачимо у нас є 19 варіантів. Таким чином в класі Console існує 19 перевантажених методів WriteLine (). Стрілками вниз - вгору можна подивитися всі ці методи:

В даній невеличкій статті ви дізналися про перевантажені методи в C #.

Ще статті.

  • Перевантажені методи c #
    Структури C #
  • Перевантажені методи c #
    Рядки в C # (1 частина)
  • Перевантажені методи c #
    Масиви в C #
  • Перевантажені методи c #
    Вставка тексту в Word на C # (1 спосіб)
  • Перевантажені методи c #
    Умовний оператор в C #

Схожі статті