Merhabalar.

Fonksiyonlar konumuza geri değer döndürmeyen ama parametreli fonksiyonlarımızla devam ediyoruz.

Fonksiyonlar dışarıdan değer alabilirler. Bunun içinde parametre tanımlamaları yapılır.

Parametreler tanımlanırken tipleri de belirtilir.

void isimSoyisimYazdir(string isim, string soyisim){

Olaylar…

}

şeklinde tanımlanır.

Burada parametre sınırı yoktur.

Ancak parametrelerin zorunlumu opsiyonel mi olacağını belirleyebiliriz.

Öncelikle zorunlu parametrelerden bahsedeceğiz.

Yukarıdaki gibi tanımlanmış parametreler zorunlu parametrelerdir. Fonksiyon çağırılırken bu değerleri alması gerekir. Yoksa fonksiyon hata verecektir.

void isimSoyisimYazdir(String isim, String soyisim){

  print(isim + " " + soyisim);

}
void main(){

  ekranaYazdir();
  isimYazdir();
  ekranaYazdir();
  isimYazdir();

  isimSoyisimYazdir("Murat","Bilginer");

}

void ekranaYazdir(){
  print("Ekrana Yazdırdım");
}

void isimYazdir(){
  print("Murat");
  print("Bilginer");
}

void isimSoyisimYazdir(String isim, String soyisim){

  print(isim + " " + soyisim);

}
H:\Dart_Tutorial\hello_dart\bin>dart 25_void_functions.dart
Ekrana Yazdırdım
Murat
Bilginer
Ekrana Yazdırdım
Murat
Bilginer
Murat Bilginer

Opsiyonel Parametreli Fonksiyonlar

void fonsiyonismi(param1, [param2, param3]){

Olaylar…

}

Küme parantezleri içine aldığımız parametreler opsiyoneldir değeri atanmadığı takdirde fonksiyon hata vermeyecektir.

void abc(String name, [int a, int b]){
  print(name + a.toString() + b.toString());
}

  abc("Murat"); // Böyle çalışacaktır.
  abc("Murat", 1); // Böylede çalışır.
  abc("Murat", 1, 2); // Böyle en ideal olandır.

Bu tür bir yazımda parametre değerleri opsiyonel bile olsa sırayla girilmesi gerekir.

void main(){

  ekranaYazdir();
  isimYazdir();
  ekranaYazdir();
  isimYazdir();

  isimSoyisimYazdir("Murat","Bilginer");

  abc("Murat"); // Böyle çalışacaktır.
  abc("Murat", 1); // Böylede çalışır.
  abc("Murat", 1, 2); // Böyle en ideal olandır.



}

void ekranaYazdir(){
  print("Ekrana Yazdırdım");
}

void isimYazdir(){
  print("Murat");
  print("Bilginer");
}

void isimSoyisimYazdir(String isim, String soyisim){

  print(isim + " " + soyisim);

}

void abc(String name, [int a, int b]){
  print(name + a.toString() + b.toString());
}
H:\Dart_Tutorial\hello_dart\bin>dart 25_void_functions.dart
Ekrana Yazdırdım
Murat
Bilginer
Ekrana Yazdırdım
Murat
Bilginer
Murat Bilginer
Muratnullnull
Murat1null
Murat12

Değerler girilmediğinde null olarak aldığını görebiliyoruz. Bunların kontolü yapılarak yazdırılabilir işlemler yapılabilir.

Sırasız Opsiyonel Parametreli Void Metodlar

Bazen o kadar fazla parametre değeri girebiliriz ki bunları sıralı olarak vermek efektif olmayacaktır. Böyle bir durumda istediğimiz parametreye değer ataması yapılarak işlem yapılabilir.

Bu parametreler için {} parantezler içine yazılır.

void fonsiyonismi(param1, {param2, param3}){

Olaylar…

}

void dfg(String Name, {int a, int b, int c}){
  
  print(Name + a.toString() + b.toString() + c.toString() );
  
}


dfg("Murat", a:2, c:45);
  dfg("Murat", c:1);
  dfg("Murat", b:3, a:2);
void main(){

  ekranaYazdir();
  isimYazdir();
  ekranaYazdir();
  isimYazdir();

  isimSoyisimYazdir("Murat","Bilginer");

  abc("Murat"); // Böyle çalışacaktır.
  abc("Murat", 1); // Böylede çalışır.
  abc("Murat", 1, 2); // Böyle en ideal olandır.


  dfg("Murat", a:2, c:45);
  dfg("Murat", c:1);
  dfg("Murat", b:3, a:2);


}

void ekranaYazdir(){
  print("Ekrana Yazdırdım");
}

void isimYazdir(){
  print("Murat");
  print("Bilginer");
}

void isimSoyisimYazdir(String isim, String soyisim){

  print(isim + " " + soyisim);

}

void abc(String name, [int a, int b]){
  print(name + a.toString() + b.toString());
}

void dfg(String Name, {int a, int b, int c}){

  print(Name + a.toString() + b.toString() + c.toString() );

}
H:\Dart_Tutorial\hello_dart\bin>dart 25_void_functions.dart
Ekrana Yazdırdım
Murat
Bilginer
Ekrana Yazdırdım
Murat
Bilginer
Murat Bilginer
Muratnullnull
Murat1null
Murat12
Murat2null45
Muratnullnull1
Murat23null

Parametrelere ilk değer ataması yapılabilir.

void fonsiyonismi(param1:value, {param2:value, param3:value}){

Olaylar…

void fonsiyonismi(param1, {param2, param3}){

Olaylar…

}

void jkl(int a,{int b : 4, int c : 5} ){
  print(a.toString() + b.toString() + c.toString());
}

  jkl(12);
  jkl(12, b: 5);
  jkl(12, b: 3, c: 45);
void main(){

  ekranaYazdir();
  isimYazdir();
  ekranaYazdir();
  isimYazdir();

  isimSoyisimYazdir("Murat","Bilginer");

  abc("Murat"); // Böyle çalışacaktır.
  abc("Murat", 1); // Böylede çalışır.
  abc("Murat", 1, 2); // Böyle en ideal olandır.


  dfg("Murat", a:2, c:45);
  dfg("Murat", c:1);
  dfg("Murat", b:3, a:2);

  jkl(12);
  jkl(12, b: 5);
  jkl(12, b: 3, c: 45);


}

void ekranaYazdir(){
  print("Ekrana Yazdırdım");
}

void isimYazdir(){
  print("Murat");
  print("Bilginer");
}

void isimSoyisimYazdir(String isim, String soyisim){

  print(isim + " " + soyisim);

}

void abc(String name, [int a, int b]){
  print(name + a.toString() + b.toString());
}

void dfg(String Name, {int a, int b, int c}){

  print(Name + a.toString() + b.toString() + c.toString() );

}

void jkl(int a,{int b : 4, int c : 5} ){
  print(a.toString() + b.toString() + c.toString());
}
H:\Dart_Tutorial\hello_dart\bin>dart 25_void_functions.dart
Ekrana Yazdırdım
Murat
Bilginer
Ekrana Yazdırdım
Murat
Bilginer
Murat Bilginer
Muratnullnull
Murat1null
Murat12
Murat2null45
Muratnullnull1
Murat23null
1245
1255
12345

Bu konumuzda bu kadardı.

Bir sonraki yazımda görüşmek üzere.


What's Your Reaction?

hate hate
0
hate
fail fail
0
fail
fun fun
0
fun
geeky geeky
0
geeky
love love
0
love
lol lol
0
lol
omg omg
0
omg
win win
0
win
Murat Bilginer
21 Şubat 1992 Doğumlu. Endüstri Mühendisi olarak Lisansını 2016 yılında tamamlamıştır. Industryolog Akademi - NGenius oluşumlarının kurucusudur. Şu anda kendi şirketi Brainy Tech ile hem Yazılım Hizmetleri Sunmakta Hem de Online Eğitimler Vermektedir.