Отправляет email-рассылки с помощью сервиса Sendsay

Visual Basic.NET. Уроки

  Все выпуски  

Visual Basic.NET. Уроки


Информационный Канал Subscribe.Ru

Основы VB.NET. Уроки с сайта http://progs.biz

Рассылка №44

Основы VB.NET. Урок 42. Перегрузка функций и процедур.

Полные версии уроков (с картинками) можно найти по адресам:
Урок 42. Перегрузка функций и процедур.

Просиз Дж. Программирование для Microsoft.NET.
Просиз Дж. Программирование для Microsoft.NET
Заказать на Озоне

Подробнее

Рассылки сайта progs.biz через subscribe.ru
Delphi. Уроки
Delphi. Уроки. Уровень - от начинающего до профи. Каждый урок рассчитан на 15 - 20 минут. Темы - библиотека VCL, создание компонентов, FAQ, работа с базами данных (InterBase и др).

Основы VB.NET. Урок 42. Перегрузка функций и процедур

Для начала парочка слов, что такое перегрузка функций. В вашей программе вам может понадобится несколько функций, которые делают аналогичную работу с разными аргументами. Под словами "разные агрументы" понимается или аргументы разных типов, или разное количество аргументов (или и то, и другое, разуеется). Так вот, перегрузка - это и есть определение нескольких функций с одним именем, но с разными аргументами. В ранних версиях VB это было невозможно - приходилось определять функции с разными именами, что было не слишком удобно.

Типичный пример перегружаемых функций - это функция для вывода на экран даннных. Логично назвать ее Write или Show или как-нибудь в таком духе. Понятно, что данные у нас могут быть разных типов, так что нам нади сделать несколько перегруженных функций - одну, например, с типом int, другую с типом string и т. д. Еще типичный пример - это функция, которая ищет сумму передаваемых в нее параметров. Количество параметров может быть разное. И в этом случае нам опять поможет перегрузка - одну функцию мы сделаем с одним количеством аргументов, другую - с другим. Хотя, по правде говоря, с такой функцией для суммирования существует и более элегантное решение.

Вот пример на перегрузку:

Class MySum
    'Функция с 2-я целыми параметрами.
    Overloads Shared Function Sum(ByVal a As Integer, ByVal b As Integer) As Integer
        Return a + b
    End Function
    'Функция с 3-я целыми параметрами.
    Overloads Shared Function Sum(ByVal a As Integer, ByVal b As Integer, ByVal c As Integer) As Integer>
        Return a + b + c
    End Function
    'Функция с 2-я вещественными параметрами.
    Overloads Shared Function Sum(ByVal a As Double, ByVal b As Double) As Double
        Return a + b
    End Function
End Class
'Класс для тестирования.
Class Test
    Shared Sub Main()
        Dim z As Integer
        z = MySum.Sum(2, 5) 'Выведется 7
        Console.WriteLine(z)
        z = MySum.Sum(2, 5, -3)
        Console.WriteLine(z) 'Выведется 4
        Dim y As Double
        y = MySum.Sum(2.1, 5.1)
        Console.WriteLine(y) 'Выведется 7.2
    End Sub
End Class

Обратите внимание, что при перегрузке мы используем ключевое слово Overloads (хотя в данном случае его использование не является обязательным).

Также обратите внимание, что прегружаемые функции не могут отличаться только типом возвращаемого значения. Они должны обязательно отличаться аргументами.

Наверх

Copyright Алексеев Игорь, 2002-2003
Copyright сайт progs.biz, 2002-2003
Распространение материалов без разрешения владельцев авторских прав запрещено.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное