Erstellen von Objektinstanzen

Bevor Sie ein Objekt in ActionScript verwenden können, muss es zunächst einmal existieren. Ein Teil beim Erstellen eines Objekts ist das Deklarieren einer Variablen, jedoch wird hierbei lediglich ein leerer Bereich im Speicher des Computers erstellt. Bevor Sie eine Variable verwenden oder ändern können, müssen Sie ihr einen tatsächlichen Wert zuweisen, d. h., Sie erstellen ein Objekt und speichern es in der Variablen. Das Erstellen eines Objekts wird auch als Instanziieren eines Objekts bezeichnet – mit anderen Worten, es wird eine Instanz einer bestimmten Klasse erstellt.

Bei einem einfachen Verfahren zum Erstellen einer Objektinstanz wird kein ActionScript verwendet. Wenn Sie in Flash ein Movieclip-Symbol, ein Schaltflächen-Symbol oder ein Textfeld auf der Bühne platzieren und diesem Objekt im Eigenschafteninspektor einen Instanznamen zuweisen, deklariert Flash automatisch eine Variable mit diesem Instanznamen, erstellt eine Objektinstanz und speichert das Objekt in der Variablen. Ähnliches gilt, wenn Sie in Adobe Flex Builder eine Komponente in MXML erstellen (entweder durch das Kodieren eines MXML-Tags oder durch das Platzieren der Komponente im Entwurfsmodus im Editor) und dieser Komponente eine ID zuweisen (im MXML-Code oder in der Flex-Eigenschaftenansicht). In diesem Fall wird die ID zum Namen einer ActionScript-Variablen, es wird eine Instanz der Komponente erstellt und in der Variablen gespeichert.

Aber vielleicht möchten Sie ein Objekt nicht immer visuell erstellen. Es gibt es verschiedene Verfahren, um Objektinstanzen ausschließlich mit ActionScript zu erstellen. Zuerst können Sie für verschiedene ActionScript-Datentypen mit einem literalen Ausdruck eine Instanz erstellen – dabei wird ein Wert direkt in den ActionScript-Code aufgenommen. Im Folgenden sind einige Beispiele für diese Situationen aufgeführt:

  • Numerischer Literalwert (geben Sie die Zahl direkt ein):

    var someNumber:Number = 17.239; 
    var someNegativeInteger:int = -53; 
    var someUint:uint = 22;
  • Literaler String-Wert (geben Sie den Text zwischen doppelten Anführungszeichen ein):

    var firstName:String = "George"; 
    var soliloquy:String = "To be or not to be, that is the question...";
  • Literaler Boolean-Wert (verwenden Sie die Literalwerte true oder false):

    var niceWeather:Boolean = true; 
    var playingOutside:Boolean = false;
  • Literaler Array-Wert (setzen Sie eine kommagetrennte Werteliste in eckige Klammern):

    var seasons:Array = ["spring", "summer", "autumn", "winter"];
  • XML-Literalwert (geben Sie die XML-Daten direkt ein):

    var employee:XML = <employee> 
            <firstName>Harold</firstName> 
            <lastName>Webster</lastName> 
        </employee>;

Darüber hinaus definiert ActionScript auch literale Ausdrücke für die Datentypen Array, RegExp, Object und Function. Nähere Einzelheiten zu diesen Klassen finden Sie unter Verwenden von Arrays, Verwenden von regulären Ausdrücken und Object-Datentyp.

Bei allen anderen Datentypen verwenden Sie zum Erstellen einer Objektinstanz den Operator new mit dem Klassennamen. Dies wird im folgenden Beispiel gezeigt:

var raceCar:MovieClip = new MovieClip(); 
var birthday:Date = new Date(2006, 7, 9);

Das Erstellen eines Objekts mithilfe des new-Operators wird häufig als „Aufrufen des Klassenkonstruktors“ bezeichnet. Ein Konstruktor ist eine besondere Methode, die als Teil des Prozesses zum Erstellen einer Klasseninstanz aufgerufen wird. Wenn Sie eine Instanz auf diese Weise erstellen, achten Sie darauf, Klammern hinter dem Klassennamen anzugeben und ggf. auch Parameterwerte – genauso wie beim Aufrufen einer Methode.

Den new-Operator können Sie auch bei den Datentypen, deren Instanzen mit einem literalen Ausdruck erstellt werden, zum Erstellen einer Objektinstanz verwenden. So führen die folgenden beiden Codezeilen das Gleiche aus:

var someNumber:Number = 6.33; 
var someNumber:Number = new Number(6.33);

Beim Erstellen von Objekten müssen Sie auf jeden Fall mit der Syntax new ClassName() vertraut sein. Wenn Sie eine Instanz eines ActionScript-Datentyps erstellen müssen, der keine visuelle Darstellung hat (und somit nicht durch das Platzieren eines Objekts auf der Flash-Bühne oder im Entwurfsmodus des MXML-Editors in Flex Builder erstellt werden kann), können Sie das Objekt nur mit dem new-Operator direkt in ActionScript erstellen.

Darüber hinaus können Sie den new-Operator in Flash dazu verwenden, eine Instanz eines Movieclip-Symbols zu erstellen, das zwar in der Bibliothek definiert ist, aber nicht auf der Bühne platziert wurde. Weitere Informationen zu diesem Thema finden Sie unter Erstellen von MovieClip-Objekten mit ActionScript.