It's very simple to follow. Enjoy!
Code: Select all
;Class Example PureBasic
;-----START CLASS DEFINE-----
DeclareModule MyClass
;class variables
Structure MyClass
a.i
b.i
EndStructure
;class public methods
Declare setVal(*x.MyClass, na.i, nb.i)
Declare hello(*x.MyClass, name.s)
EndDeclareModule
Module MyClass
Declare printText(str.s) ;this is private
;define public class methods
Procedure setVal(*x.MyClass, na.i, nb.i)
*x\a = na
*x\b = nb
EndProcedure
Procedure hello(*x.MyClass, name.s)
printText("Hello" + name.s)
EndProcedure
;define private class method
Procedure printText(str.s)
Debug str
EndProcedure
EndModule
;-----END CLASS DEFINE------
;Demo Usage
;create class instance Obj1
Define.MyClass::MyClass Obj1;
;create class instance Obj2
Define.MyClass::MyClass Obj2
;call class method
MyClass::setVal(Obj1, 3, 3)
MyClass::setVal(Obj2, 4, 4)
;test
Debug "Obj1:"
Debug Obj1\a
Debug Obj1\b
Debug "Obj2:"
Debug Obj2\a
Debug Obj2\b
MyClass::hello(Obj1, "World")