In ActionScript 3.0 wird jedes Objekt durch eine Klasse definiert. Eine Klasse kann man sich als Vorlage oder Entwurf für den Typ eines Objekts vorstellen. Klassendefinitionen können Variable und Konstanten enthalten, in denen Datenwerte gespeichert sind, und Methoden, in denen das an die Klasse gebundene Verhalten eingekapselt ist. Bei den in den Eigenschaften gespeicherten Werten kann es sich um
Grundwerte
(Englisch „primitive values“) oder um andere Objekte handeln. Grundwerte sind Zahlen, Strings oder boolesche Werte.
ActionScript enthält verschiedene integrierte Klassen, die einen Teil der Hauptsprache darstellen. Einige dieser integrierten Klassen, z. B. Number, Boolean und String, stellen die in ActionScript verfügbaren Grundwerte dar. Andere Klassen, wie Array, Math und XML, definieren komplexere Objekte.
Alle Klassen, ob integriert oder benutzerdefiniert, sind von der Object-Klasse abgeleitet. Programmierer mit ActionScript-Erfahrungen müssen wissen, dass der Datentyp „Object“ nicht mehr der Standarddatentyp ist, obwohl alle anderen Klassen weiterhin von diesem Datentyp abgeleitet werden. In ActionScript 2.0 waren die folgenden beiden Codezeilen gleichwertig, da das Fehlen einer Typanmerkung bedeutete, dass eine Variable den Typ „Object“ annahm:
var someObj:Object;
var someObj;
Mit ActionScript 3.0 wurde jedoch das Konzept von nicht typisierten Variablen eingeführt, das auf zwei Arten beschrieben werden kann:
var someObj:*;
var someObj;
Eine nicht typisierte Variable ist nicht das Gleiche wie eine Variable des Typs „Object“. Der wesentliche Unterschied besteht darin, dass nicht typisierten Variable den Sonderwert
undefined
enthalten können, während eine Variable des Typs „Object“ diesen Wert nicht annehmen kann.
Sie können eigene Klassen mithilfe des Schlüsselworts
class
definieren. Klasseneigenschaften können auf drei Arten deklariert werden: Konstanten können mit dem Schlüsselwort
const
definiert werden, Variable mit dem Schlüsselwort
var
. Get/Set-Eigenschaften werden mithilfe der Attribute
get
und
set
in einer Methodendeklaration definiert. Methoden können Sie mit dem Schlüsselwort
function
deklarieren.
Eine Klasseninstanz erstellen Sie mit dem Operator
new
. Im folgenden Beispiel wird eine Instanz der Date-Klasse namens
myBirthday
erstellt.
var myBirthday:Date = new Date();