:: (Operador de resolución de alcance)
Ejecuta un método de clase primaria desde un método de subclase.
Sintaxis
cNombreClase::cMétodo
Comentarios
El operador :: se utiliza para ejecutar un método de clase primaria desde un método de subclase. Cuando cree una subclase, los métodos de subclase se heredarán automáticamente de la clase primaria. El operador :: permite ejecutar el método de clase primaria y realizar después otros procesos adicionales para el método de subclase. Las definiciones de subclase del ejemplo demuestran cómo se utiliza el operador :: para ejecutar el método de clase primaria en un método de subclase.
Ejemplo de :: (Operador de resolución de alcance)
El ejemplo siguiente crea un formulario y agrega dos botones de comando al formulario. Al hacer clic en los botones puede salir del formulario (el segundo botón, cmdOtroBotón, llama al procedimiento clic de cmdSalir). Esta acción es posible por la creación de subclases. El operador de resolución de alcance llama al código de la clase principal para el objeto subclase.
frmMiForm = CREATEOBJECT("Form")
frmMiForm.Width = 450
frmMiForm.Height = 100
frmMiForm.Caption = "Ejemplo de resolución de alcance"
frmMiForm.AutoCenter =.T.
frmMiForm.AddObject("cmdSalir","cmdBotónSalir")
frmMiForm.AddObject("cmdOtro","cmdOtroBotón")
frmMiForm.SHOW && Muestra el formulario.
READ EVENTS && Inicia el procesamiento de eventos.
El siguiente ejemplo define dos botones de comando. El primer botón se utilizará como subclase del segundo botón. La creación de la subclase se puede ver en las propiedades FontBold y ForeColor que se definen para cmdSalir, pero nunca se establece explícitamente para cmdOtroBotón. Definimos cmdOtroBotón como una subclase de cmdBotónSalir. Como resultado, este botón heredará todos los atributos definidos para cmdBotónSalir.
DEFINE CLASS cmdBotónSalir AS CommandButton
Caption = "\<Salir" && Título del botón de comando.
Left = 175 && Borde izquierdo del botón.
Top = 60 && Posición de la parte superior del botón.
Height = 25 && Altura del botón.
Visible = .T. && Mostrar el botón en el formulario.
FontItalic = .T. && Activar texto en cursiva.
ForeColor = RGB(0,0,255) && Cambiar el color del texto del botón.
PROCEDURE Click
WAIT WINDOW "Ejecutando el procedimiento CLICK para cmdSalir." TIMEOUT 1
CLEAR EVENTS && Detiene el procesamiento de eventos, cierra Form.
ENDDEFINE
DEFINE CLASS cmdOtroBotón AS cmdBotónSalir
Caption = "Haga clic aquí para salir."
Left = 175
Top = 30
Height = 25
PROCEDURE Click
WAIT WINDOW "Evento Click para el botón: cmdOtroBotón." TIMEOUT 1
cmdBotónSalir::Click
ENDDEFINE