Fonksiyonlar
Fonksiyon nedir?
En kısa tanımı ile fonksiyonlar, belirlenmiş bir amaca ulaşmak için
bir araya getirilmiş kod satırlarını barındıran yapılardır.
Fonksiyonlar
tıpkı değişkenler gibi isimlendirilirler ve çağrıldıklarında süslü
{} parantezleri arasındaki kod
satırlarını çalıştırırlar.
Fonksiyonları neden kullanmalıyız?
- Problemlerimizi daha küçük parçalara ayırarak hedefe daha anlaşılır
ve kısa yoldan ulaşmamızı sağladıkları,
- Tekrar tekrar aynı kod
satırlarını yazmaktan bizi kurtardıkları,
- Projelerimizi düzene sokup
kodlarımızın okunabilirliğini arttırdıkları için projelerimizde
fonksiyonları kullanmalıyız.
Parametresiz fonksiyonlar
Dışardan herhangi bir değer almayan fonksiyonlardır.
Parametresiz fonksiyon tanımlamak
function deyimiyle başlanır ve
fonksiyona bir isim yazılır. Ardından
parantez ( açılır ve açılan parantez
) kapatılır. Son olarak süslü
{ }parantezler içine çalıştırmak
istediğimiz kod satırları yazılır.
Örnek:
function fonksiyonunAdi ():void{
//Kod satırlarımız.
//Süslü parantezler arasına amaca ulaşmak amacıyla istenildiği kadar kod satırları yazılabilir.
}
Parametreli fonksiyonlar
Dışardan parametre alan fonksiyonlardır.
Parametreli fonksiyon tanımlamak
function deyimiyle başlanır ve
fonksiyona bir isim yazılır. Ardından
parantez ( açılır ve açılan parantezler
arasına parametreler tanımlanır ve parantez
) kapatılır. Son olarak süslü
parantezler içine çalıştırmak istediğimiz kod satırları yazılır.
Not: İhtiyaç duyulan parametre sayıyısı kadar parametre yazılabilir.
Parametrelerin sayısal bir ksıtlaması yoktur. Actionscript 3.0 da
parametreler yazılırken parametrelerin türlerini yazmak gibi bir
zorunluluğumuz yoktur. Lâkin hemen hemen diğer tüm yazılım dillerinde
parametrelerin türlerini yazmak zorunlu kılınmıştır. Diğer dillere
geçerken bu anlamda zorluk çekmemek adına Actionscript 3.0 da
parametrlerin türlerini yazmanınızı öneriririm.
Aşağıdaki örnekte sayi1,
sayi2 adında türleri
Number olan ve 2 parametre alan
fonksiyon örneği verilmiştir.
Örnek:
function fonksiyonunAdi (sayi1:Number, sayi2:Number):void{ //Kod satırlarımız.
}
Geriye değer döndüren fonksiyonlar
Sahip oldukları kod satırlarından veriler elde edip geriye bir değer
döndüren fonksiyonlardır. Bu tip fonksiyonlar
birden fazla parametre alabilirler ama
geriye sadece tek bir veri döndürebilirler.
İhtiyaca göre
her türe sahip bir veri geriye döndürülebilir.
Aşağıdaki örnekte sayi1,
sayi2,
sayi3 adında türleri
Number olan, 3 parametre alan ve
geriye Number türünde bir
değer geri döndüren fonksiyon örneği
verilmiştir.
Örnek:
function fonksiyonunAdi (sayi1:Number, sayi2:Number, sayi3:Number):Number{
//Kod satırlarımız.
var toplam:Number = sayi1+sayi2+sayi3;
return toplam;
}
Örnekte görüldüğü üzere 3 tane parametre alınmış ve bu parametrelerle gelen
değerler toplanarak
geriye döndürülmüştür.
Geriye değer döndüren fonksiyonlarda dikkat edilmesi gereken iki husus
vardır.
1- Geriye döndürdükleri değerin
tipi () parantez kapatıldıktan sonra
: iki nokta konularak
belirtilmelidir.
2- Geriye
döndürülecek verinin başına
return deyimi yazılmalıdır.
Not: Geriye değer döndürmeyen fonksiyonların geri dönüş değeri void olarak belirlenmelidir.
Şimdide işimize yarayacak birkaç fonksiyon örneği yazalım.
Örnek-1:
function sayiCiftMi(sayi:int):Boolean{ var ciftMi:Boolean; if(sayi%2==0){ //sayi değişkeninin 2 ye bölümünden kalan sıfır ise sayi değişkeni çifttir. ciftMi=true;
}else{ /sayi değişkeninin 2 ye bölümünden kalan bir ise sayi değişkeni tektir. ciftMi=false;
} return ciftMi;
} trace(sayiCiftMi(5)); //Output false
trace(sayiCiftMi(6)); //Output true
Örnek-2:
function buyukOlanSayiyiBul(sayi1:Number, sayi2:Number):Number{
var buyukSayi:Number;
if(sayi1>sayi2){ //sayi1, sayi2 den büyükse
buyukSayi=sayi1;
}else{ //sayi1, sayi2 den büyük değilse
buyukSayi=sayi2;
}
return buyukSayi;
}
trace(buyukOlanSayiyiBul(3,7)); //Output 7
trace(buyukOlanSayiyiBul(12,8)); //Output 12
Örnek-3:
function girisKontrol(user:String, password:Number):String{
var sonuc:String;
if(user=="osman" && password ==123){ //user "osman" ve password 123 ise
sonuc="Giriş Başarılı";
}else{ //user "osman" veya password 123 değil ise
sonuc="Kullanıcı adı veya şifre hatalı";
}
return sonuc;
}
trace(girisKontrol("osman",123)); //Output Giriş Başarılı
trace(girisKontrol("osman",1234)); //Output Kullanıcı adı veya şifre hatalı
trace(girisKontrol("ahmet",123)); //Output Kullanıcı adı veya şifre hatalı