Öncelikle AS3 kullanıcıları eğer OOP programlama ile uğraşıyorlarsa, buna mutlaka bir kere bile olsa ihtiyaç duyacaklardır. Başka bir Class içerisindekileri diğer bir Class' a aktarmak, aslında basit bir şey. Öncelikle OOP kurallarından iki şeye değinmek istiyorum.
Birincisi bütün değişken ve classların
public,private değerleri vardır. Yani class içerisindekilerin diğer classlara (Türkçe olarak Sınıf) açık olup olmadığıdır. Public değerindekiler, diğer classlar tarafından kullanılabilir fakat private yalnızca kendi içerisinde barındırır.
İkincisi,
import. Yani karşı tarafın içeri çağrılması gibi bir şey. Bu özellik kullanılmayan türler de olacağından, mesela bir .as dosyası içerisinde Sprite lar kullanılmaktadır ve MovieClipler kullanılmamaktadır; bu durumda yalnızca Spriteları import etmek daha akıllıcadır. İsraf yapmayın kısacası. Gerçi konumuzun bununla alakası yok ama importların şu özelliğinden yararlanacağız, başka bir ( Public ) Class' ı diğer bir Class içerisine çağıracağız. Bu durumda onun tüm özelliklerine erişebileceğiz.
Kodlamaya başlamadan önce
Flash Develop programını kullanacağımı belirtmek isterim. Ayrıca dersteki kodları görebilmeniz için
DNS Adresini Değiştmelisiniz.
Gerekli uyarı ve belirtmeleri yaptığıma göre artık başlayabiliriz. Öncelikle
Main Class (Ana Class) ımızı oluşturduktan sonra yeni bir Class daha oluşturuyoruz, onun ismi de Degiskenler olsun. Buradan değişkenler oluşturup daha sonra Main Class' dan bu değişkenleri çekerek
trace(); ile yazdıracağız.
Kodların hepsini verip genel anlatımı buradan yapacağım.
Main.as için Kodlar :
Degiskenler.as için Kodlar :
Publicler
Kodlarımızı açıklamaya geldi sıra. Öncelikle açmış olduğumuz
Degiskenler isimli class' ın kodlarında, class tanımlarken kullandığımız
"public class Degiskenler..." bu kodda en baştaki kelimemiz, diğer Class lardan ulaşabilmemiz için public olmalıdır.
Ayrıca bu Classta oluşturduğumuz ve daha sonra
Main Class' a çekeceğimiz değişkenler de (veya bunlar sabitler de olabilirdi
-public const.. şeklinde-)
public değeri almalıdır. Aksi takdirde sadece class içerisi erişim olabilir, yani sadece kendi classında kullanılabilir.
Tanımlamalar
Degisken isimli Classımızda,
constructor fonksiyon içerisinde değişkenlerimizi tekrar tanımlayıp, değerlerini verdikten sonra sıra geldi, bunlara
Main (ana) Class' tan ulaşmaya.
Aktarıma Geçiş
Main Classımızda öncelikle public değer almış olan
Degiskenler isimli Classımızı import ediyoruz.
(5.satırda görüldüğü üzere.) Daha sonra yine ana Classımız içerisinde bir değişken oluşturuyoruz, bu değişken aslında
Degiskenler isimli classımızın buradaki bir yansıması olacak.
public var degiskenler dedikten sonra
:Degiskenler diyerek bu değişkenimizin veri tipini Degiskenler classı olarak belirledik.
public var degiskenler:Degiskenler ;
Benzer Veri Tiplerinin Oluşturulması
Daha sonra bize lazım olan, yani diğer Class' ta da bulunan, değişkenleri içeri çekebilmek için o değişkenlere benzer veri tipi bulunduran
dizi1, sayi1 ve boolean1 değişkenlerini oluşturuyoruz.
Yeni Verilerin, Diğer Classtan Çekilmesi
Main Classımızda bulunan
Constructor fonksiyonuna gelerek veri tiplerini tekrar tanımlıyoruz. Fakat burada tanımlarken öncelikle degisken isimli değişkeni öncelikle tanımlamamız gerek. Daha sonra ise diğer değişkenlerimiz
(sayi1, dizi1, boolean1) için bunun üzerinden erişim sağlayacağız. Tanımlarken şu şekilde tanımlıyoruz :
değişkenİsmi = new DeğişkenVeriTipi(degisken.benzerDiğerDeğişken);
mesela ;
sayi1 = new Number(degisken.sayi);
buradaki
degisken.benzerDiğerDeğişken kısmı
nokta(.) işareti ile onun içerisine, barındırdığı verilere erişmemizi sağlıyor.
Çekilen Verilerin Kontrolü
Artık verileri oluşturduğumuza göre geriye kalan bir tek bunları kontrol etmek kaldı.
trace(); komutuyla verileri OutPut penceresinde yazdırıyoruz.
trace(dizi1);
trace(sayi1);
trace(boolean1);
Test ediyoruz ve görmek istediğimiz sonucu alıyoruz. :)