FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour cambiar un método con OVERRIDE
Posts: 174
Joined: Wed Nov 29, 2017 11:42 AM

cambiar un método con OVERRIDE

Posted: Wed Dec 20, 2017 10:30 AM
Una inquietud que tengo es cuando cambio o sobrecargo un método de una clase

¿ese método se cambia TODO o solo la parte que reescribo???

por ejemplo...
Code (fw): Select all Collapse
//...
   OVERRIDE METHOD KeyChar IN CLASS TEdit WITH xEditKeyChar
//...

FUNCTION xEditKeyChar( nKey, nFlags )
   Local Self := HB_QSelf()

   FWLOG ValType( Self ), ::ClassName()

   IF nKey == VK_RETURN
      Return 0
   ENDIF

return ::Super:KeyChar( nKey, nFlags )


¿esto cambia el contenido anterior del método KeyChar de TEdit???
O Sobrecarga el método con lo escrito y si no se cumple retorna al anterior KeyChar existente en la clase original.
::KeyChar( nKey, nFlags )

O... ::Super es la referencia al padre del objeto, en esta ocasion TControl ???
Un Saludo,

Xevi.



Aprendiz de la vida!!!
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM

Re: cambiar un método con OVERRIDE

Posted: Wed Dec 20, 2017 11:02 AM

Xevi,

> ¿esto cambia el contenido anterior del método KeyChar de TEdit??

Si

> O Sobrecarga el método con lo escrito y si no se cumple retorna al anterior KeyChar existente en la clase original.
> ::Super:KeyChar( nKey, nFlags )

No

> O... ::Super es la referencia al padre del objeto, en esta ocasion TControl ???

Si

regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion