progs.biz  
Начало>VB.NET>Основы>Урок 50
C#
VB.NET
Visual C++.NET
ASP.NET
Visual C++ 6
WinAPI
C/C++
Delphi
C++ Builder
Java
SQL
PHP
DirectX
Visual Basic 6.0
Ассемблер
Интернет
Сист. прогр-ние
Pocket PC
Обзор книг
Обзор программ

Джон Коннелл. Разработка элементов управления Microsoft .NET на Microsoft Visual Basic .NET
Джон Коннелл. Разработка элементов управления Microsoft .NET на Microsoft Visual Basic .NET
Заказать на Озоне



Яндекс-цитирования

Основы 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.

Рассылки нашего сайта на Subscribe.Ru
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET new!
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


 
 
Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2008 сайт progs.biz
© 2002-2008 Игорь Алексеев