Modify (replace) a METHOD in an already existing class
// create a new THappy class and add a Smile method
oHappy := HBClass():New( "THappy" )
__objAddMethod( oHappy, "Smile", @MySmile() )
? oHappy:Smile( 1 ) // :)
? oHappy:Smile( 2 ) // ;)
// replace Smile method with a new function
__objAddMethod( oHappy, "Smile", @YourSmile() )
? oHappy:Smile( 1 ) // *SMILE*
? oHappy:Smile( 2 ) // *WINK*
STATIC FUNCTION MySmile( nType )
LOCAL cSmile
DO CASE
CASE nType == 1
cSmile := ":)"
CASE nType == 2
cSmile := ";)"
ENDCASE
RETURN cSmile
STATIC FUNCTION YourSmile( nType )
LOCAL cSmile
DO CASE
CASE nType == 1
cSmile := "*SMILE*"
CASE nType == 2
cSmile := "*WINK*"
ENDCASE
RETURN cSmile