Основы VB.NET Урок 50. Перегрузка операторов
До появления VB.NET версии 2.0 перегрузка операторов была только в C#. Теперь она появилсь и в VB.NET.
Что такое перегрузка оператора? По сути дела это объяснение компилятору, что означают значки +, -, * и т. п. для экземпяров нашего класса. Без перегрузки операторов компилятор знает, как использовать эти значки только для простых типов (Integer, например). После же перегруки мы сможем использовать указанные значки и для некоторого конкретного класса.
Вот пример класса с перегруженным оператором:
Public Class Class2
Public n As Integer
Public Sub New(ByVal m As Integer)
n = m
End Sub
Public Shared Operator +(ByVal a As Class2, ByVal b As Class2) As Class2
Return New Class2(a.n + b.n)
End Operator
End Class
Обратите внимание, что перегруженный оператор объявлен как shared. Также обратите внимание на имя перегружаемого оператора - это имя представляет из себя ключевое слово operator и значок, которому мы даем новое значение (в данном случае +).
А вот пример использования такого перегруженного оператора:
Sub Main()
Dim w As Class2
Dim w1 As New Class2(22)
Dim w2 As New Class2(44)
w = w1 + w2
Console.WriteLine(w.n)
End Sub
Как вы видите, тут мы можем использовать знак + для сложения экземпляров нашего класса. Выведет указанный фрагмент, разумеется, 66.
|