Freigeben über


::-Bereichsauflösungsoperator

Führt eine Methode einer übergeordneten Klasse aus einer Unterklassenmethode aus.

cClassName::cMethod

Hinweise

Mit dem ::-Operator können Sie eine Methode einer übergeordneten Klasse aus einer Unterklassenmethode ausführen. Beim Erstellen einer Unterklasse werden die Unterklassenmethoden automatisch von der übergeordneten Klasse übernommen. Der ::-Operator ermöglicht es Ihnen, die Methode der übergeordneten Klasse in der Unterklassenmethode auszuführen und dann mit der Bearbeitung der Unterklassenmethode fortzufahren. Die Unterklassendefinitionen im Beispiel veranschaulichen, wie Sie den ::-Operator verwenden können, um die Methode der übergeordneten Klasse in der Unterklassenmethode auszuführen.

Weitere Informationen zum ::-Geltungsbereich-Auflösungsoperator finden Sie unter Objektorientierte Programmierung.

Beispiel

Im folgenden Beispiel wird ein Formular erstellt, und diesem Formular werden zwei Schaltflächen hinzugefügt. Durch Klicken auf eine der beiden Schaltflächen können Sie das Formular schließen; die zweite Schaltfläche, cmdAnotherButton, ruft die Click-Prozedur von cmdQuit auf. Dieser Vorgang ist aufgrund der Unterklassenbildung möglich. Der Geltungsbereich-Auflösungsoperator ruft den Code der übergeordneten Klasse für das Objekt in der untergeordneten Klasse auf.

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

Im folgenden Beispiel werden zwei Befehlsschaltflächen definiert. Die erste Schaltfläche wird zur Bildung einer Unterklasse für die zweite Schaltfläche verwendet. Die Unterklassen können über die Eigenschaften FontBold und ForeColor angezeigt werden, die für cmdQuit definiert sind, aber für cmdAnotherButton nicht explizit gesetzt sind. cmdAnotherButton wird als Unterklasse von cmdQuitButton definiert. Entsprechend übernimmt diese Schaltfläche alle im Vorfeld für cmdQuitButton definierten Attribute.

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

Siehe auch

ADD CLASS-Befehl | CREATE CLASS-Befehl | CREATE CLASSLIB-Befehl | CREATEOBJECT( )-Funktion | DEFINE CLASS-Befehl | DODEFAULT( )-Funktion | GETOBJECT( )-Funktion | MODIFY CLASS-Befehl | RELEASE CLASSLIB-Befehl | SET CLASSLIB-Befehl | WITH ... ENDWITH-Befehl