:: (Operador de resolución de alcance)
Ejecuta un método de clase primaria desde un método de subclase.
cClassName::cMethod
Observaciones
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 la clase primaria en el método de la subclase secundaria 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.
Para obtener más información acerca del operador de resolución de alcance ::, vea Programación orientada a objetos.
Ejemplo
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, cmdAnotherButton
, llama al procedimiento clic de cmdQuit
). 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.
frmMyForm = CREATEOBJECT("Form")
frmMyForm.Width = 450
frmMyForm.Height = 100
frmMyForm.Caption = "Scope Resolution Example"
frmMyForm.AutoCenter =.T.
frmMyForm.AddObject("cmdQuit","cmdQuitButton")
frmMyForm.AddObject("cmdAnother","cmdAnotherButton")
frmMyForm.SHOW && Display the form
READ EVENTS && Start event processing
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 cmdQuit
, pero nunca se establece explícitamente para cmdAnotherButton
. Definimos cmdAnotherButton
como una subclase de cmdQuitButton
. Como resultado, este botón heredará todos los atributos definidos para cmdQuitButton
.
DEFINE CLASS cmdQuitButton AS CommandButton
Caption = "\<Quit" && Caption on command button
Left = 175 && Left edge of button
Top = 60 && Position for top of button
Height = 25 && Button height
Visible = .T. && Show button on form
FontItalic = .T. && Turn on italic text
ForeColor = RGB(0,0,255) && Change button text color
PROCEDURE Click
WAIT WINDOW "Executing the CLICK procedure for cmdQuit." TIMEOUT 1
CLEAR EVENTS && Stop event processing
ENDDEFINE
DEFINE CLASS cmdAnotherButton AS cmdQuitButton
Caption = "Click to quit"
Left = 175
Top = 30
Height = 25
PROCEDURE Click
WAIT WINDOW "Click event for button: cmdAnotherButton" TIMEOUT 1
cmdQuitButton::Click
ENDDEFINE
Vea también
ADD CLASS (Comando) | CREATE CLASS (Comando) | CREATE CLASSLIB (Comando) | CREATEOBJECT( ) (Función) | DEFINE CLASS (Comando) | DODEFAULT( ) (Función) | GETOBJECT( ) (Función) | MODIFY CLASS (Comando) | RELEASE CLASSLIB (Comando) | SET CLASSLIB (Comando) | WITH ... ENDWITH (Comando)