Ö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(sayi1);
trace(boolean1);
Test ediyoruz ve görmek istediğimiz sonucu alıyoruz. :)




Hiç yorum yok:
Yorum Gönder