cambiar un método con OVERRIDE

Post Reply
User avatar
Xevi
Posts: 168
Joined: Wed Nov 29, 2017 11:42 am
Location: Girona

cambiar un método con OVERRIDE

Post by Xevi »

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: Select all

//...
   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.
::Super:KeyChar( nKey, nFlags )

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

Aprendiz de la vida!!!
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: cambiar un método con OVERRIDE

Post by Antonio Linares »

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
Post Reply