* При перепечатке материалов ссылка на 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
Компонент PrintDocument
Применение типов данных
Модификаторы доступа к типам
Доступ к общим членам
Извлечение из сопутствующих сборок ресурсов, специфичных для культуры
Локальные функции
Работа с классом Help
Изменение меню во время выполнения
Императивная защита по правам доступа к коду
Классы CTS
Преобразование типов
Декларативная защита по правам доступа к коду
Создание классов
Развертывание проекта
| .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


     



Данный сайт или домен продается

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