* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Перегрузка членов
8 февраля 2009

Благодаря перегрузке удается создать несколько членов с одним и тем же именем,
но с разной сигнатурой. Перегрузку чаще всего применяют с методами, С# также
позволяет перегружать операторы. На этом занятии вы научитесь создавать пере-
груженные члены классов.
Изучив материал этого занятия, вы сможете:
^ создавать перегруженные методы;
^ создавать перегруженные операторы (в С#).
Продолжительность занятия - около 15 минут.
Вашему классу может потребоваться член, способный принимать разные набо-
ры параметров, например:
Visual Basic .NET
Visual C#
public void Display(int DisplayValue)
Этот метод прекрасно подходит для решения задач, для которых он предназна-
чен. Но что, если этому методу следует передать параметр duration? Или передать в
параметре DisplayVaiue строку вместо целого числа? В Visual Basic .NET первая про-
блема решается при помощи необязательных параметров, но пользователям С# эта
возможность недоступна. Более того, необязательные параметры бесполезны во
второй ситуации, когда метод должен принимать аргументы различных типов.
В таких случаях и применяют перегрузку — создание нескольких методов с оди-
наковыми именами. Перегруженные методы способны возвращать значения оди-
наковых типов, разрешается объявлять их с одинаковыми модификаторами досту-
па, но сигнатуры перегруженных методов должны отличаться. При вызове перегру-
женного метода исполняющая среда проверяет типы переданных аргументов, срав-
нивает список аргументов с сигнатурами доступных перегруженных методов, и вы-
зывает тот, чья сигнатура совпала со списком аргументов. Если же ни один из пере-
груженных методов не принимает указанный набор аргументов, генерируется ошибка.
Чаще всего перегрузку применяют с методами, создание перегруженных мето-
дов поддерживает и Visual Basic .NET, и С#; последний дополнительно позволяет
перегружать операторы, обеспечивая поддержку нестандартной функциональности
пользовательских типов данных с операторами.


Теги: .NET

Статьи по теме:

Установка сборок в виде компилированных образов
Классы CTS
Вложенные элементы управления и контейнеры
Создание экземпляров пользовательских типов
Делегаты CTS
Формирование запросов SQL во время выполнения
Использование отладочных инструментов
Отображение текста
Ограничения Foreign Key
Создание DataAdapter с помощью мастера Data Adapter Configuration Wizard
Переменные методов
Активация и деактивация команд меню
Типы и пространства имен .NET
Реализация полиморфизма через наследование
Использование шаблонов кода
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Перегрузка членов. Регион сайта: Москва и Санкт-Петербург