Tutorial
Type als Objekt - Das UDT-Tutorial Teil 1
von MOD | Seite 4 von 8 |
Methoden (Subs und Functions)
In einem Type können auch reguläre Subs und Functions vorkommen, in Verbindung mit Objekten werden sie dann oft Methoden genannt. Wir führen unser Beispiel fort:
Type bar
Declare Constructor()
Declare Destructor()
Declare Property x() As Integer
Declare Property x(ByVal n As Integer)
Declare Sub Mul5()
Declare Function Addr() As Integer Ptr
p_x As Integer Ptr
End Type
Constructor bar()
Print "Constructor bar()"
p_x = Allocate(SizeOf(Integer))
*p_x = 10
End Constructor
Destructor bar()
Print "Destructor bar()"
DeAllocate(p_x)
End Destructor
Property bar.x() As Integer
Print "bar.x()"
Property = *p_x
End Property
Property bar.x(ByVal n As Integer)
Print "bar.x(ByVal n As Integer)"
*p_x = n
End Property
Sub bar.mul5()
*p_x *= 5
End Sub
Function bar.Addr() As Integer Ptr
Function = p_x
End Function
'---
Dim foo As bar
Print foo.x
foo.x = 5
Print foo.x
foo.mul5()
Print foo.x
Print "Adresse p_x zeigt auf", foo.Addr()
Diesmal haben wir eine Sub hinzugefügt, die den Integer auf den p_x zeigt mit fünf multipliziert und eine Funktion, die die Speicher-Adresse holt, die der Pointer enthält.
Alles in allem funktionieren sie wie normale Subs und Functions mit dem Unterschied, dass sie dem Objekt direkt zugeordnet sind.
Zusätzliche Informationen und Funktionen | |||||||
---|---|---|---|---|---|---|---|
|