Objecten en klassen

In ActionScript 3.0 wordt elk object gedefinieerd door een klasse. Een klasse is een soort sjabloon of ontwerp voor een type object. Klassendefinities kunnen variabelen en constanten bevatten, die weer gegevenswaarden bevatten, plus methoden, ofwel functies waarin gedrag is ondergebracht dat tot de klasse behoort. De opgeslagen waarden in eigenschappen kunnen primitieve waarden of andere objecten zijn. Primitieve waarden zijn getallen, tekenreeksen of Booleaanse waarden.

ActionScript bevat diverse ingebouwde klassen die deel uitmaken van de kerntaal. Sommige van deze ingebouwde klassen, zoals Number, Boolean en String, vertegenwoordigen de primitieve waarden die beschikbaar zijn in ActionScript. Andere klassen, zoals Array, Math en XML, definiëren complexere objecten.

Alle klassen, zowel ingebouwd als door de gebruiker gedefinieerd, zijn afgeleid van de klasse Object. Voor programmeurs die al ervaring hebben met ActionScript, is het van belang op te merken dat het gegevenstype Object niet meer het standaardgegevenstype is, ook al zijn alle klassen er nog wel van afgeleid. In ActionScript 2.0 kwamen de volgende twee regels code overeen, omdat bij het ontbreken van een typeannotatie een variabele het type Object kreeg toegewezen:

var someObj:Object; 
var someObj;

In ActionScript 3.0 wordt echter het concept van variabelen zonder type geïntroduceerd, die op de volgende manieren kunnen worden toegewezen:

var someObj:*; 
var someObj;

Een variabele zonder type is niet hetzelfde als een variabele van het type Object. Het wezenlijke verschil is dat variabelen zonder type de speciale waarde undefined kunnen bevatten en een variabele van het type Object die waarde niet kan bevatten.

U kunt uw eigen klassen definiëren met behulp van het trefwoord class. U kunt klasseneigenschappen op drie manieren declareren: constanten kunt u definiëren met het trefwoord const, variabelen met het trefwoord var en eigenschappen getter and setter met de attributen get en set in een methodedeclaratie. U kunt methoden declareren met het trefwoord function.

U kunt een instantie van een klasse maken met de operator new. In het volgende voorbeeld wordt een instantie van de klasse Date gemaakt met de naam myBirthday.

var myBirthday:Date = new Date();