Nesneler ve sınıflar

ActionScript 3.0'da, her nesne bir sınıf tarafından tanımlanır. Sınıf, bir nesne türünün şablonu veya şeması olarak düşünülebilir. Sınıf tanımları, sınıfa bağlı davranışı kapsayan işlevler niteliğindeki veri değerlerini ve yöntemlerini barındıran değişkenleri ve sabitleri içerebilir. Özelliklerde saklanan değerler, ilkel değerler veya başka nesneler olabilir. İlkel değerler, sayılar, dizeler veya Boolean değerleridir.

ActionScript, çekirdek dilin parçası olan birçok yerleşik sınıfı içerir. Number, Boolean ve String gibi bu yerleşik sınıflardan bazıları, ActionScript'te kullanılabilir olan ilkel değerleri temsil eder. Array, Math ve XML sınıfları gibi diğer sınıflar daha karmaşık nesneleri tanımlar.

Yerleşik veya kullanıcı tanımlı tüm sınıflar, Object sınıfından türetilir. Önceki ActionScript sürümlerinde deneyimli programcılar için, diğer tüm sınıflar Object veri türünden türetilse de, Object veri türünün artık varsayılan veri türü olmadığının unutulmaması önemlidir. ActionScript 2.0'da, tür ek açıklamasının olmaması değişkenin Object türünde olduğu anlamına geldiğinden, şu iki kod satırı eşdeğerdir:

var someObj:Object; 
var someObj;

Ancak ActionScript 3.0, şu iki yöntemle belirlenebilen türlenmemiş değişken kavramını getirmiştir:

var someObj:*; 
var someObj;

Türlenmemiş bir değişken, Object türünde bir değişkenle aynı değildir. Önemli olan fark, Object türündeki bir değişken undefined özel değerini barındıramazken, türlenmemiş değişkenlerin bu değeri barındırabilmesidir.

class anahtar sözcüğünü kullanarak kendi sınıflarınızı tanımlayabilirsiniz. Sınıf özelliklerini üç şekilde bildirebilirsiniz: bir yöntem bildiriminde const anahtar sözcüğüyle sabitler tanımlanabilir, var anahtar sözcüğüyle değişkenler tanımlanır ve get ve set nitelikleriyle alıcı ve ayarlayıcı özellikleri tanımlanır. function anahtar sözcüğüyle yöntemler bildirebilirsiniz.

new operatörünü kullanarak bir sınıfın örneğini oluşturursunuz. Aşağıdaki örnek, myBirthday adında bir Date sınıfı örneğini oluşturur.

var myBirthday:Date = new Date();