Подробное рассмотрение. Создание нескольких версий одного метода путем перегрузки
Обновлен: Ноябрь 2007
На этом занятии будет рассказано, как добавить несколько версий метода в класс.
На предыдущем занятии было рассмотрено, как добавлять методы в класс Persons. Иногда встречаются случаи, при которых одного метода не хватает — например, требуется передавать в метод в различных ситуациях различные типы данных или требуется возвращать результат в различных форматах.
Можно создать несколько версий метода с помощью технологии, называемой перегрузка. Если в классе имеется более одного метода с одним тем же именем, но разным набором аргументов, то метод называется перегруженным.
Перегрузка
Для создания перегруженного метода добавьте к классу две или более процедуры Sub или Function с одинаковыми именами. В объявлениях процедур должен различаться набор аргументов для каждой процедуры, иначе возникнет ошибка.
В следующем примере показан метод с двумя перегрузками, одна из которых принимает String, а другая Integer в качестве аргумента.
Public Sub TestFunction(ByVal input As String)
MsgBox(input)
End Sub
Public Sub TestFunction(ByVal input As Integer)
MsgBox(CStr(input))
End Sub
Если вызвать этот метод из кода и передать ему строку, будет выполняться первая перегрузка и окно сообщения отобразит строку; если передать ему число, будет выполняться вторая перегрузка, число будет преобразовано в строку и затем отобразится в поле сообщения.
Пользователь может создавать любое требуемое число перегрузок, и каждая перегрузка при этом может содержать различное число аргументов.
В класс Persons будет добавлен метод с двумя перегрузками, возвращающими инициал отчества: одна перегрузка будет возвращать только инициал, а другая — инициал с точкой.
Практическое задание
Для создания перегруженного метода
Откройте проект Persons, созданный на предыдущем занятии. Если не удалось сохранить его, вернитесь к предыдущему занятию, Добавление методов в класс, и выполните указанные действия.
В обозревателе решений выберите проект Persons.vb, затем в меню Вид выберите Код.
Добавьте следующий код под существующими методами.
Public Function MiddleInitial() As String MiddleInitial = Left$(middleNameValue, 1) End Function Public Function MiddleInitial(ByVal period As Boolean) As String MiddleInitial = Left$(middleNameValue, 1) & "." End Function
В меню Файл выберите команду Сохранить все, чтобы сохранить проект.
Следующие действия
На этом занятии было показано, как создать перегруженный метод. На следующем занятии будет показано, как добавлять события в класс.
Следующее занятие: Добавление событий в класс
См. также
Задачи
Основные понятия
Вопросы, связанные с перегрузкой процедур
Другие ресурсы
Программирование с применением объектов. Использование классов