Подробное рассмотрение. Создание нескольких версий одного метода путем перегрузки

Обновлен: Ноябрь 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 будет добавлен метод с двумя перегрузками, возвращающими инициал отчества: одна перегрузка будет возвращать только инициал, а другая — инициал с точкой.

Практическое задание

Для создания перегруженного метода

  1. Откройте проект Persons, созданный на предыдущем занятии. Если не удалось сохранить его, вернитесь к предыдущему занятию, Добавление методов в класс, и выполните указанные действия.

  2. В обозревателе решений выберите проект Persons.vb, затем в меню Вид выберите Код.

  3. Добавьте следующий код под существующими методами.

    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
    
  4. В меню Файл выберите команду Сохранить все, чтобы сохранить проект.

Следующие действия

На этом занятии было показано, как создать перегруженный метод. На следующем занятии будет показано, как добавлять события в класс.

Следующее занятие: Добавление событий в класс

См. также

Задачи

Добавление методов в класс

Основные понятия

Вопросы, связанные с перегрузкой процедур

Другие ресурсы

Программирование с применением объектов. Использование классов

Интерактивный учебник по Visual Basic