ActionScript 3.0: Fonksiyonlar IV: İç İçe (Nested) Fonksiyonlar
Muttalip TULGAR Tarih: 26/08/2008 Yorum: 1 adet
Okunma : 438 Tutanlar: Bu yazıyı 5 kişi tuttu.
İç içe (nested) Fonksiyonlar:
Actionscript 3.0’da, bir fonksiyonun içinde başka bir fonksiyon veya fonksiyonlar tanımlanabilmektedir.
-
function adSoyadSehir():String
{
function ad():String
{
return "Tarık";
}
function soyad():String
{
return "Mutlu";
}
function sehir():String
{
return "İstanbul";
}
return (ad() + " " + soyad() + " : " + sehir());
}
trace(adSoyadSehir());
// Tarık Mutlu : İstanbul
Örnekte, "adSoyadSehir" fonksiyonun içinde üç tane fonksiyon tanımlanmış ve
return (ad() + " " + soyad() + " : " + sehir())
komut satırı ile fonksiyonlardaki değerler döndürülüp çağrıldığı yere gönderilmiştir.
Fonksiyon içinde parametrelerin "değer" veya "referans" olarak döndürülmesi:
Fonksiyon içinde yerel bir değişkenin içine parametrenin değerinin kopyalanmasıyla parametre "değer "olarak döndürülür. Referans olarak parametrelerin döndürülmesinde ise, gerçek veri değeri değil de, o verinin parametresi referans olarak alınır. Böylece, gerçek veri değerinin kopyası alınmamış olur.
Actionscript 3.0’da, tüm parametreler referans alınarak döndürülür çünkü basit veri tipindeki (int,uint,Number,String vb.) tüm değerler nesne olarak tutulmaktadır.
function degerleriGecir(a:int, b:int):void
{
a++;
b++;
trace (a,b)
}
var aDegeri:int=6;
var bDegeri:int=14;
trace(aDegeri,bDegeri);
degerleriGecir(aDegeri,bDegeri);
trace(aDegeri,bDegeri);
// 6 14
// 7 15
// 6 14
Buradaki örnekte, "degerleriGecir" fonksiyonun içindeki "a" ve "b" parametrelerine, fonksiyonun dışından tanımlanan "aDegeri" ve "bDegeri" gibi iki yerel değişkenin değerleri, referans olarak atanıyor. Fonksiyon içinde "a" ve "b" değerleri bir artırılınca fonksiyonun dışına da
degerleriGecir(aDegeri,bDegeri)
komut satırı ile 7 ve 15 değerleri döndürülüyor. Ancak sonraki satırda ise;
trace(aDegeri,bDegeri)
fonksiyon içinden döndürülen "aDegeri" ve "bDegeri" parametrelerinin değerleri artırılmadan kendi yerel değerleri sonuç olarak alınır. Çünkü bu iki parametrenin değeri referans olarak alınıp fonksiyonun içine gönderilmişti.
Basit veri tipleri dışındaki tüm nesneler, fonksiyonun dışından fonksiyonun içine bir referans değer döndürdükleri zaman, fonksiyonun içinde bir değişlik meydana geldiğinde, bu değişiklik fonksiyonun dışındaki değerleri de etkiler.
function olcme(dikdortgen:Object):void
{
dikdortgen.yukseklik++;
dikdortgen.en++;
trace (dikdortgen.yukseklik,dikdortgen.en)
}
var aNesne:Object= {yukseklik:5, en:9}
trace(aNesne.yukseklik,aNesne.en)
olcme(aNesne);
trace(aNesne.yukseklik,aNesne.en)
// 5 9
// 6 10
// 6 10
void parametresi:
Bir fonksiyonun parametre değişkeninin ya da geri dönüş değerinin olmaması isteniyorsa, "void" anahtar sözcüğü kullanılır. Hiçbir değer döndürmez fakat sadece "undefined" değerine sahiptir.
function ileti():void
{
trace("merhaba");
}
ileti();
// merhaba
Actionscript’in Kendinde Bulunan Hazır (Built-in) Fonksiyonlar:
Actionscript içinde hazır olarak var olan, programcılara kolaylık olsun diye kullanımlarına sunulan fonksiyonlardır. Bunlardan bazıları şunlardır: trace(),isNaN(), Number(), String(), Array(), int(), Boolean(), Date(), Object(), String(),uint(), isFinite()…vb.
Yazan: Muttalip TULGAR "ActionScript 3.0: Nesne Yönelimli Programlama" derslerinde görüşmek üzere.
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 380 (0 kayıtlı, 380 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. " ...
500 Hatası Hakkında!
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)
Ne Nedir Kampanyası Başlıyor!
Çok Merak Edenler için; MMIstanbul Geliştirme Ekibi ve Çalışma Ortamımız









hocam gerçekten çok teşekkür ederim…Class’ları sayenizde daha da iyi kavramış bulunmaktayım…Ne desek boş …Allah RAzı olsun diyelim de yerini bulsun…Emeğinize sağlık…Diğer derslerinizi beklemekteyiz…