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ı


Bu blogdaki popüler yayınlar

Math Sınıfı