* При перепечатке материалов ссылка на 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

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

Императивная защита по правам доступа к коду
Компонент PrintDocument
Подключение класса DoughnutMachine к пользовательскому интерфейсу
Удаление и отключение точек прерывания
Работа с элементами управления
Системные кисти, перья и цвета
Окна Locals, Autos и Watch
Запись трассировочных данных в журнал событий
Создание плана блочного тестирования
Создание формы
Вызов методов
Объявление и генерация событий
Boost – версия 1.36.0
Использование провайдеров дополнительных свойств
Создание экземпляров элементов управления ActiveX
| .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


     



Rambler's Top100

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

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