ActionScript 3.0: Nesne Yönelimli Programlama I (Object-Oriented Programming) : Giriş
Muttalip TULGAR Tarih: 26/08/2008 Yorum: 4 adet
Okunma : 873 Tutanlar: Bu yazıyı 4 kişi tuttu.
ActionScript 3.0: Nesne Yönelimli Programlama’ya Giriş (Object-Oriented Programming)
Actionscript, bir script dili olarak ortaya çıksa da, sürekli gelişimini sürdürmekte ve modern bir dil olma özelliğini kazanmaktadır. Actionscript 3.0, nesne yönelimli programlama yapısı ile daha da güçlenmiştir. OOP, bazıları için korkutucu görünse de aslında bir problemi çözerken onu küçük parçalara ayırıp çözmekten başka bir şey değildir. Bu küçük parçalara da nesne (object) diyoruz. Nesne yönelimli programlamada her şey nesneler üzerinde tasarlanmaktadır.
Linear programcılık ile nesne yönelimli programcılık arasındaki en önemli fark, nesne yönelimli programcılığın problem çözümünde daha hızlı ve daha kolay olmasıdır. Linear programcılıkta binlerce satırlık kodlar arasında boğulmamak için çok usta bir programcı olmak, aynı zamanda da o kodları yazanın programcının kendisi olması gerekmektedir. Tabi bu kadar çok kod arasında bir kod bloğundaki değişikliği düzeltmenin bedeli ise; binlerce satır arasında gezinip diğer kod bloklarındaki değişikliği yapma eziyeti olacaktır. Böyle bir kargaşa ortamı hem enerji hem de zaman kaybına neden olmaktadır. Bu tür istenmeyen programcılık yapısından kurtulmak için, çoğu programcı modüler yapılar sunan nesne yönelimli programlamayı (OOP) tercih etmektedir.
OOP’de, sınıflar tanımlanmakta ve bu sınıflardan da başka sınıflar türetilebilmektedir. Her sınıfın kendine ait özellikleri, metotları ve olayları vardır. Ayrıca her sınıftan yeni nesnelerde oluşturulabilmektedir. Nesneleri oluşturan en önemli birim sınıflardır. Nesne, özelliklerini sınıftan alır. Nesneler, sınıfların bir örneğidir. Bir sınıf aynı zamanda başka bir sınıfın özelliklerine de sahip olabilmektedir. Sınıfların bir başka özelliği istenirse başka sınıflara karşı soyutlanabilmesidir. Soyutlanmaktan amaç; başka sınıf, diğer bir sınıfın özelliğini kullanabilmekte iken; o sınıfı oluşturan tüm kodları bilmeye gerek kalmamasıdır.
Sınıflar(Classes)
Sınıf, nesnelerin soyut olarak gösterimidir. Bir sınıf kendi içinde, nesnelerin tuttuğu veri tiplerini ve nesnelerin gösterdiği davranışlarla ilgili bilgileri barındırır. Aslında sınıflar belirli bir nesne oluşturulurken o nesnenin en temel özelliklerini belirleyen bir şablondur. Örneğin yapı adlı bir sınıfınızın olduğunu düşünün.
Bu sınıftan bir villa nesnesi oluşturacağınız zaman, villa nesnesi, yapı sınıfı içindeki temel, kolon, duvar, pencere, tavan, en, yükseklik gibi temel özelliklerle, temel yap, kolon yap, duvar yap, tavan yap gibi davranışları (metotları) kullanacaktır. Yapı sınıfı burada, villa nesnesi için bir şablon görevindedir. Bu şablonda villa nesnesi için temel özellikler ve davranışlar belirtilmiştir.
Yapı sınıfından istenirse, ev, iş yeri gibi başka nesnelerde oluşturulabilir. Tabiî ki her nesne, sınıflardan şablon olarak aldığı özelliklerinin yanı sıra, kendilerine ait özellikler ve davranışlarda belirleyebilirler.
Bir sınıf direkt olarak kullanılamaz. Bir sınıfa ait özellikleri ve metotları kullanabilmek için bu sınıfın bir örneği (instance) oluşturulmalıdır. Bir örneği oluşturulmadan kullanılan sınıflara ise; "top-level-class" üst seviye sınıf denir.
Örneğin, Math,Array,Date,Number,XML,int,uint,Object gibi.
Sınıf (Class) Tanımlama:
Bir actionscript sınıf dosyası oluşturmak için, Flash CS3 programında File mönüsünden New tıklanarak, karşımıza çıkan ekrandan "ActionScript File" veya "Flash File (ActionScript 3.0)" seçeneklerinden biri seçilebilir. (Şekil 1)
(Şekil 1)
Eğer "Flash File (ActionScript 3.0)" seçeneği seçilecekse, karşımıza Layer ve framelerin olduğu bir flash ekranı gelecektir. ActionScript 1.0 ve 2.0’da kodlar moviclip ve buton gibi nesnelerin içine yazılabilmekteyken artık ActionScript 3.0’da tüm kodlar framelere yazılmaktadır. Dolayısıyla oluşturulacak sınıflarda framelerden birinde yazılacaktır. (Şekil2)
New ile "ActionScript File" seçeneği seçildiğinde sadece kod yazmak için gerekli olan aşağıdaki ekran karşımıza çıkacaktır. Bu ekranda herhangi bir grafik çizimi yapılamamaktadır.
•Sınıf tanımlamaya başlarken öncelikle "package" anahtar sözcüğü kullanılmalıdır. Birden çok sınıf dosyasına sahipseniz, bu dosyaları belirli gruplarda bir klasör içinde toplayabilirsiniz. Özellikle büyük proje çalışmalarında çoklu sınıf dosyalarının zorunluluğu paket yapısını da ön plana çıkarmaktadır. "package" ile sınıf dosyaları klasörler içinde saklanmakta ve bu dosyalara erişimde belirli koşullarda sınırlandırılmakta veya tümüyle izin verilmektedir. Bir sınıfa dışarıdan (başka bir sınıftan) erişebilmek için onun erişim özelliklerinin (public, private, protected, internal, static) olması gerekmektedir. Bu özelliklerinde kullanılabilmesi için sınıfın "package" anahtar sözcüğü kullanılarak bir paket içinde olması şarttır. Tüm sınıf özellikleri ve tanımlamaları "package" anahtar sözcüğünün köşeli parantezleri arasındadır.
package
{
public class Yapi
{
//Sınıf tanımlamaları ve özellikleri
}
}
•Sınıf oluştururken "class" anahtar sözcüğü ve hemen onun önünde programcı tarafından belirlenen sınıf adı yazılır. Sınıf adları verilirken de, diğer değişken ve fonksiyon adları için zorunlu olan kurallar geçerlidir.
package
{
public class Yapi
{
}
}
Bunun yanında sınıflar için isim verirken sınıf adının ilk harfinin büyük olması yaygın olarak kullanılan bir davranıştır.
•Sınıf dosyları ".as" uzantılı dosyalardır. Dosyayı kaydederken sınıf adı ile ".as" uzantılı dosya aynı adı almak zorundadır.
package
{
public class Yapi
{
// Sınıfın özellik ve davranışları
}
}
Bu sınıfın adı "Yapi" dır. Öyleyse bu dosya, sınıf dosyası olarak kaydedilirken de adı, "Yapi.as" olacaktır.
".as" uzantılı dosya içinde sadece bir sınıf tanımlanabilir.
Bir sınıfın özellikleri, davranışları o sınıfın köşeli parantezleri içinde tanımlanır.
Bir sınıf yapısı temelde şu üç bölümden oluşur:
- a) Özellikler (Properties)
- b) Yapılandırıcı Fonksiyon (Constructor Method)
- c) Metotlar (Methods)
Yazan: Muttalip TULGAR
"ActionScript 3.0: Nesne Yönelimli Programlama II" dersinde sınıf yapıları ayrıntılı olarak anlatılacaktır. Görüşmek üzere.
Muttalip Bey çok faydalı bir iş yapıyor. Kendisini kutlarım.
Üstelik, bunu gayet anlaşılır, tekniğine uygun ve pedagojisi yetkin bir biçimde yapıyor. "Şu movieClip’e tıkladım ve fakat kıpraşmıyor; neden?" sorusuna yanıt vermektense, movieClip nedir, onu anlatıyor. İhtiyaç da bu zaten. Kişisel görüşüm, mmistanbul üzerindeki asıl yaklaşımın bu şekilde olması gerektiği yönünde. Tekrar kutlarım.
Ellerinize sağlık. Dersler çok iyi gidiyor..
emeğine sağlık Allah razı olsun
Makale
Etkinlikler
Toplantı
Kahraman ve need4code.com Projesi Connect Toplantısı
Kahraman ve need4code.com Projesi Connect Toplantısı
Selam arkadaslar,
Programlama ile uğraşanların hayatlarını kolaylaştıracak desktop ve web tabanlı ortak iki proje ile ilgili 3. toplantımızı 3Aralık...
Kategori:
Toplantı
Kimler Burada? 
Son 1 dakika içinde MMIstanbul' da 376 (3 kayıtlı, 373 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:
MMIstanbul Blog'undan
Neler Yapılabilir?
Yeni bir portal, 30 civarında online / offline etkinlik, seminer vb rağmen MMIstanbul sanıyoruz ki halen hakettiği ilgiyi göremedi. " ...









Yine en çok takıldığım konuydu bu. Dün çözmüştüm işi ama sizinde makaleniz çok iyi oldu. İkinci dersinizi sabırsızlıkla bekliyorum. Teşekkürler…