Anyone have something a little more Efficient?
Code: Select all
DeclareModule SimpleObject
Interface _
Add(Number)
Show()
EndInterface
Structure _Structure
*Vtable
name.s
x.i
y.i
EndStructure
Declare create(name.s)
EndDeclareModule
Module SimpleObject
Procedure create(name.s)
*new._Structure = AllocateStructure(_Structure)
*new\Vtable = ?Vtable
*new\name = name
*new\x = 10
*new\y = 20
ProcedureReturn *new
EndProcedure
Procedure add(*self,Number)
*this._Structure = *self
*this\x + Number
*This\y + Number
EndProcedure
Procedure Show(*self)
*this._Structure = *self
Debug "Name" + *this\name
Debug "x:" + Str(*this\x)
Debug "y:" + Str(*this\y)
Debug "---------"
EndProcedure
DataSection
Vtable:
Data.i @add(), @show()
EndDataSection
EndModule
myobject1.SimpleObject::_ = SimpleObject::create("Blue Elephant")
myobject2.SimpleObject::_ = SimpleObject::create("Orange Apple")
myobject1\Show()
myobject1\Add(10)
myobject2\Show()
myobject2\Add(50)
Debug "#######"
myobject1\Show()
myobject2\Show()
Debug "#######"