Code: Alles auswählen
Class MyClass
Public
Set(string.s, long.l)
Get.s()
Private
myLong.l
myString.s
EndClass
Die Methodendefinitionen sollten klar der Klasse zugeordnet sein, wo wie von Edel als Beispiel gezeigt. Also Klasse.Methode() :
Code: Alles auswählen
Method MyClass.Set(string.s, long.l)
*this\myLong = long
*this\myString = string +" hat die Nummer "+str(*this\myLong)
EndMethod
Method.s MyClass.Get(*return=#Null)
If *return
PokeS(*return, *this\myString)
EndIF
MethodReturn *this\myString
EndMethod
Anwendung:
Code: Alles auswählen
*obj.MyClass = MyClass() ; Wozu New? Innerhalb des Konstruktors wird der Speicher des Objekts eh Heapallocated
*obj\Set("Beispiel", 9)
Debug *obj\Get()
; ... oder ... :
str.s = Space(128)
*obj\Get(@str)
debug str
Die Befehle Class, EndClass und New dürfen NIE eingerückt werden! Sie müssen immer am Anfang der Zeile beginnen.
Das gleiche gilt z.B für "MyObject\......".
Code: Alles auswählen
Zeile.s = LTrim(Zeile.s)
