Compartir a través de


:: (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)