cambiar un método con OVERRIDE

cambiar un método con OVERRIDE

Postby Xevi » 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: Select all  Expand view

//...
   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
Xevi
 
Posts: 169
Joined: Wed Nov 29, 2017 11:42 am
Location: Girona

Re: cambiar un método con OVERRIDE

Postby Antonio Linares » 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
User avatar
Antonio Linares
Site Admin
 
Posts: 41312
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 16 guests