Hoje me deparei com a dúvida abaixo.
Reparem que eu altero o valor da variável "cVarTeste" e chamo novamente a classe "TMYCLASS()", mas reparem que a variável "cTeste" não muda seu valor.
Porque ? O que está faltando ?
Código: Selecionar todos
#include "hbclass.ch"
PROCEDURE Main()
local oClass
cls
public cVarTeste
cVarTeste := "001"
oClass := TMYCLASS():New()
? oClass:cTeste, " <- Aqui teria que ser [001] - OK"
? ""
? "Tipo de variavel de [oClass]=", valtype(oClass)
? ""
oClass := NIL
? "Tipo de variavel de [oClass]=", valtype(oClass)
? ""
cVarTeste := "002"
oClass := TMYCLASS():New()
? oClass:cTeste, " <- Aqui teria que ser [002] - Errado"
? ""
oClass := NIL
cVarTeste := "003"
oClass := TMYCLASS():New()
? oClass:cTeste, " <- Aqui teria que ser [003] - Errado"
? ""
oClass := NIL
return NIL
//---------------------------------------------------------//
CREATE CLASS TMYCLASS
VAR cTeste INIT cVarTeste
METHOD New() CONSTRUCTOR
METHOD End()
DESTRUCTOR Destroy()
END CLASS
//---------------------------------------------------------//
METHOD New() CLASS TMYCLASS
return SELF
//---------------------------------------------------------//
METHOD Destroy CLASS TMYCLASS
::End()
return NIL
//---------------------------------------------------------//
METHOD End() CLASS TMYCLASS
? "Classe Destruida..."
? ""
return NIL
//---------------------------------------------------------//



