Donnerstag, August 31, 2006

VB2005: OOP-Funktionen (Teil 1)

Hier eine kleine Übersicht zu den OOP-Funktionen die VB2005 standardmässig unterstüzt:

Vererbung von Klassen:
Public Class BaseClass
' Public Sub a()
' End Sub
End Class

Public Class SubClass
' Inherits BaseClass
' Public Sub b()
' End Sub
End Class
Wenn man jetzt die SubClass benutzt, hat man auch Zugriff auf die BaseClass Member. Mehrfachvererbung ist nicht möglich.
Überladen von Methoden:
Public Class TestClass
' Public Overloads Sub a()
' End Sub
' Public Overloads Sub a(ByVal b As String)
' End Sub
End Class
Jetzt kann man die Methode a mit oder ohne Parameter aufrufen. Es ist auch möglich anhand der Datentypen, Methoden zu überladen.
Überschreiben von Methoden:
Public Class BaseClass
' Public Overridable Sub a()
' End Sub
End Class
Public Class SubClass
' Inherits BaseClass
' Public Overrides Sub a()
' End Sub
End Class
Hier wird die Methode a, der BaseClass, von der Methode a aus der SubClass überschrieben (ersetzt). Sollen bei der neuen Methode noch andere Parameter definiert werden, muss Shadows anstatt Overrides verwendet werden.
Operatorüberladung:
Public Class Form1
' Private Sub Rechnen()
''' Dim Preis1 As New cPreis
''' Dim Preis2 As New cPreis
''' Dim Summe As New cPreis
''' Preis1.Preis = 10
''' Preis2.Preis = 20
''' Summe = Preis1 + Preis2
' End Sub
End Class
Public Class cPreis
' Private pPreis As Integer
' Public Sub New()
' End Sub
' Public Sub New(ByVal value As Integer)
''' Preis = value
' End Sub

' Public Property Preis() As Integer
''' Get
''''' Return pPreis
''' End Get
''' Set(ByVal value As Integer)
''''' pPreis = value
''' End Set
' End Property

' Public Shared Operator +(ByVal A As cPreis, _
' ByVal B As cPreis) _
' As cPreis
''' Return New cPreis(A.Preis + B.Preis)
' End Operator
End Class
Hier kann einem Objekt vom Typ cPreis automatisch mit dem + Operator die Summe zweier anderer Objekte zugewiesen werden.
Folgende Operatoren können Überladen werden: +, -, *, /, \, &, ^, >>, <<, =, <>, >, >=, <, <=, Not, And, Like, Mod, Or, Xor, CType, IsFalse und schliesslich IsTrue.