Condividi tramite


Istruzione super

Questa istruzione fa riferimento all'oggetto base dell'oggetto corrente e può essere utilizzata in due contesti.

// Syntax 1: Calls the base-class constructor with arguments.
super(arguments)

// Syntax 2: Accesses a member of the base class.
super.member

Argomenti

  • arguments
    Facoltativo nella sintassi 1. Elenco delimitato da virgole di argomenti per il costruttore della classe base.

  • member
    Obbligatorio nella sintassi 2. Membro della classe base a cui si desidera accedere.

Note

La parola chiave super viene in genere utilizzata in una delle due seguenti situazioni: per chiamare in modo esplicito il costruttore della classe base mediante uno o più argomenti oppure per accedere ai membri della classe base sottoposti a override dalla classe corrente.

Esempio 1

Nell'esempio seguente, super si riferisce al costruttore della classe base.

class baseClass {
   function baseClass() {
      print("Base class constructor with no parameters.");
   }
   function baseClass(i : int) {
      print("Base class constructor. i is "+i);
   }
}
class derivedClass extends baseClass {
   function derivedClass() {
      // The super constructor with no arguments is implicitly called here.
      print("This is the derived class constructor.");
   }
   function derivedClass(i : int) {
      super(i);
      print("This is the derived class constructor.");
   }
}

new derivedClass;
new derivedClass(42);

All'esecuzione di questo programma viene visualizzato il seguente output:

Base class constructor with no parameters.
This is the derived class constructor.
Base class constructor. i is 42
This is the derived class constructor.

Esempio 2

Nell'esempio seguente, super consente di accedere a un membro della classe base sottoposto a override.

class baseClass {
   function test() {
      print("This is the base class test.");
   }
}
class derivedClass extends baseClass {
   function test() {
      print("This is the derived class test.");
      super.test(); // Call the base class test.
   }
}

var obj : derivedClass = new derivedClass;
obj.test();

All'esecuzione di questo programma viene visualizzato il seguente output:

This is the derived class test.
This is the base class test.

Requisiti

Versione .NET

Vedere anche

Riferimenti

Operatore new

Istruzione this