Actionscript 3.0 Kitabı içerisindeki OOP(Nesne Tabanlı Programlama)
30 Haziran 2008 – 12:48Yakında çıkacak olan Actionscript 3.0 kitabı hakkında aldığım maillerde ve sorulan soruların çoğunluğu kitap içerisindeki Nesne Tabanlı Programlamanın (Object-oriented programming) kapsadığı alan ve faydasının ne kadar dokunacağı.Kitap tamamen Actionscript 3.0 öğretme üzerine kuruldu. Temel mantık hem yeni başlayanlara hem Actionscript 2.0 kullananlara yardımcı olması. Kitap içerisinde ele alınan konu sayısı dilin büyük bir çoğunluğu kapsıyor. (Tüm içeriği görmek için buraya tıklayınız)
Nesne tabanlı programlamaya gelirsek, bu bölüm içerisinde ilk olarak temelde sistematiğin nasıl çalıştığı veriliyor. Yani ne nedir, ne işe yarar, niçin böyle bir şeye gerek duyulmuştur, faydası nelerdir gibi sorulara cevap bulmanızı sağlayacaktır. Tabii burada sınıf yapısı oluşturmanın temellerine değiniliyor ve kurallar açıklanıyor. Daha sonra ise bu sınıf yapılarını sorunsuz bir şekilde anlatabilmek ve daha iyi bir yer edinmesini sağlayabilmek için “Nesne Yönelimli Programlama Prensipleri” bölümünde, OOP ile programlamanın temel prensiplerine değindim. Aşağıda kitap içerisinde yer alan Nesne Tabanlı Programlama konusunun başlıkları yer almakta;
- Sınıf Yapıları (OOP)-Nesne Tabanlı Programlama
- Nesne Tabanlı Programlamaya Geçiş
- Timeline
- Document Class
- Kütüphane Objeleri
- Classpath
- Nesne Yönelimli Programlama (OOP) Nedir?
- Terminoloji
- Paket (Package)
- Sınıf(Class)
- Nesneler (Objects)
- Özellikler (Properties)
- Metotlar (Methods)
- Olaylar(Events)
- Referans (Instance)
- Miras(Inheritance)
- Soyutlama(Abstraction)
- Sarma(Encapsulation)
- Çok Biçimlilik(polymorphism)
- Terminoloji
- Actionscript 3.0 Nesne Yönelimli Programlama Temelleri
- Paketler
- Import
- Sınıflar
- Yeni Bir Sınıf Oluşturma
- Metotlar
- Yapılandırıcı Metotlar (Constructors)
- Sınıf Öznitelikleri
- Sınıf Özelliklerine Erişim Öznitelikleri
- Nesne Yönelimli Programlama Prensipleri
- Miras(Inheritance)
- Soyutlama (Abstraction)
- Sarma(Encapsulation)
- Çok Biçimlilik(Polymorphism)
- Interfaces (Arayüz)
- Nesne Tabanlı Programlamaya Geçiş
Hepsi bu kadar mı? Tabi ki hayır, kitap içerisinde yer alan örneklerin çoğu basit sınıf yapıları ile hazırlanmıştır. Aşağıdaki örnek LocalConnection bölümünden bir sınıf yapısının örneği bulunmakta. Bu sınıf yapısı içerisinde kodların tüm anlatımı kitap içerisinde mevcut, diğer taraftan “Nesne Tabanlı Programlama” bölümünü sağlıklı bir şekilde okuduğunuzda aşağıdaki kodların çoğunun ne işe yaradığını, neden bazılarında public bazılarında private özniteliğinin kullanıldığını veya kullanılması gerektiği gibi bir çok konuya hakim olucaksınız.
-
package {
-
import flash.net.LocalConnection;
-
import flash.display.Sprite;
-
import fl.controls.TextArea;
-
-
public class ReceiverLC extends Sprite {
-
-
//Objeleri oluşturuyoruz
-
private var message_txt:TextArea = new TextArea();
-
private var receiver_lc:LocalConnection;
-
-
public function ReceiverLC() {
-
-
//baglantı objesini yeniliyoruz
-
receiver_lc = new LocalConnection();
-
-
//bağlantı kurulmasını sağlıyoruz
-
receiver_lc.connect("myConnection");
-
-
//client özelliğine this ifadesini atıyrouz
-
receiver_lc.client = this;
-
-
//Metin alanını şekillendiriyoruz
-
setComponent();
-
}
-
-
//Burada metin alanını şekillendiriyoruz
-
private function setComponent() {
-
message_txt.x= message_txt.y = 100;
-
message_txt.width = 200;addChild(message_txt);
-
}
-
-
-
//writeMessage metodunumuz, göndericinin ulaşacağı metot//Göndericiden gelen mesajı alıp metin kutusuna yazıyoruz
-
public function writeMessage(str:String):void {
-
message_txt.text ="Mesaj : " + str;
-
-
}
-
}
-
}
Kitap içerisindeki örneklerin tamamını sınıf yapısında vermememin sebebi ise bazı bölümlerin daha iyi anlaşılabilmesi içindir. Ayrıca bu bilgilerin tamamına kitap içerisinde değindim, yani neyi neden yaptığıma dair bilgiler kitap içerisinde de yer almakta.
Kolay Gelsin
Engin!
