You are not logged in.

  • Login

Sunday, December 4th 2011, 10:37am

Tags

Funktion, methode, operator, überladen

Abstract

Kurzes Tutorial zum überladen der Operator Methoden.

Article

VisualBasic Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//Eine normale Klasse zur Darstellung eines Bruchs
Public Class Bruch
    Sub New(ByVal Zähler As Double, ByVal Nenner As Double)
        Me.Zähler = Zähler
        Me.Nenner = Nenner
    End Sub
 
    Private _Zähler As Double
    Public Property Zähler As Double
        Get
            Return _Zähler
        End Get
        Protected Set(ByVal value As Double)
            _Zähler = value
        End Set
    End Property
 
    Private _Nenner As Double
    Public Property Nenner As Double
        Get
            Return _Nenner
        End Get
        Protected Set(ByVal value As Double)
            _Nenner = value
        End Set
    End Property
 
    Public ReadOnly Property AlsZahl As Double
        Get
            Return Zähler / Nenner
        End Get
    End Property
 
    Public ReadOnly Property AlsString As String
        Get
            Return Zähler & "/" & Nenner
        End Get
    End Property
 
End Class


VisualBasic Quellcode

1
2
3
4
5
6
7
'Die Operatormethoden sind immer statisch (Shared).
Public Shared Operator +(ByVal lhs As Bruch, ByVal rhs As Bruch) As Bruch
   'Hier wird das Rückgabeobjekt erstellt und ausgerechnet.
   Dim nZähler As Double = (lhs.Zähler * rhs.Nenner) + (rhs.Zähler * lhs.Nenner)
   Dim nNenner As Double = lhs.Nenner * rhs.Nenner
   Return New Bruch(nZähler, nNenner)
End Operator


Hinter jedem Operator ist eine ganz normale Methode mit Parametern.
Bei dem + Operator hat die Methode 2 Parameter, welche angeben, welche 2 Werte mit einander addiert werden, deshalb ist die linke Seite Parameter 1 und die rechte Seite Parameter 2 (lhs = Left Hand Side | rhs = Right Hand Side) lhs 2 + 3 rhs
Der Rückgabewert der Methode ist demnach logischerweise das Ergebnis.

Manche Methoden können nur Boolean zurückgeben (z.B. > oder <).

Damit man die Instazen der Klasse Bruch addieren kann, kommt die + Methode in die Bruch Klasse.

Lexikon 4.1.5, developed by www.viecode.com