[C con Clase] Saludos y Consultas soble clases . . .
Guillermo Varona Silupú
gvarona en ec-red.com
Mie Ago 25 02:49:25 CEST 2010
Hola amigos,
Tengo interes en conocer el manejo de clases con Harbour
(http://www.harbour-project.org).
Supongo que los fundamentos son los mismos que se utilizan en C,
cambiando la sintaxis entre uno u otro lenguaje, no se que tan diferente
sea respecto a C, la sintaxis de harbour por ejemplo.
Actualmente se esta desarrollando una GUI para harbour basada en QT
(http://www.sourceforge.net/projects/hmg), y se esta haciendo con clases.
Por ejemplo tengo las siguientes dudas:
1.- En la declaración de la siguiente clase base:
CLASS APPLICATION
CLASS VAR oWndMain INIT NIL SHARED
CLASS VAR s_qApp INIT NIL SHARED
CLASS VAR s_events INIT NIL SHARED
CLASS VAR s_slots INIT NIL SHARED
CLASS VAR nObjectCounter INIT 0 SHARED
CLASS VAR oMainMenu INIT NIL SHARED
CLASS VAR oDefaultPopup INIT NIL SHARED
ENDCLASS
¿Que hace la claúsula CLASS VAR?
2.- Cuando se inicializa un objeto se hace asi:
With Object oBtn1 := Button():New()
:Row := 40
:Col := 40
:Width := 180
:Caption := 'OOP Button!!!'
:OnClick := { || Button1Click( oButton1 ) }
End With
En la definición de la clase Button existe el metodo Create(), pero no
existe el metodo New(), éste existe en la clase padre de la cual deriva
la clase Button.
Cuando se crea el objeto oBtn1, se hace con el metodo New(), tal como se
ve en el ejemplo.
En este contexto:
¿Cuando inicializo el objeto con el metodo New(), automaticamente se
ejecuta el metodo Create()?
¿En que momento se ejecuta el metodo Create(), antes o después del
metodo New()?
De antemano muchas gracias por sus respuestas.
Atentamente,
Guillermo VArona Silupú
Más información sobre la lista de distribución Cconclase