super (Instrucción)

Actualización: noviembre 2007

Hace referencia al objeto base del objeto actual. Se puede utilizar en dos contextos.

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

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

Argumentos

  • arguments
    Opcional en la sintaxis 1. Lista de argumentos separados con comas para el constructor de la clase base.

  • member
    Obligatorio en la sintaxis 2. Miembro de la clase base al que se va a tener acceso.

Comentarios

La palabra clave super se suele utilizar en una de dos situaciones. Puede utilizarla para llamar explícitamente al constructor de la clase base con uno o más argumentos. También puede utilizarla para tener acceso a miembros de la clase base que ha reemplazado la clase actual.

Ejemplo 1

En el siguiente ejemplo, super hace referencia al constructor de la clase 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);

Este programa muestra el siguiente resultado cuando se ejecuta:

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

Ejemplo 2

En el siguiente ejemplo, super permite el acceso a un miembro reemplazado de la clase base:

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

Este programa muestra el siguiente resultado cuando se ejecuta:

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

Requisitos

Versión .NET

Vea también

Referencia

new (Operador)

this (Instrucción)