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.
Request deletion
report critical content