VB.NET'TE FONKSİYON YAPISI

Herkese merhabalar. Uzun bir aradan sonra yine sizlerle birlikteyim. Önceki kullandığım programlama dilinin aksine, Visual Basic bilgisi vermeye başlayacağım. Ve bugün size fonksiyon yapısını anlatacağım.

Fonksiyonlar, istediğimiz zaman çağırabileceğimiz, kullandığımız yapının dışında yaratılan (basit bir metod, fonksiyon ya da dll uzantılı olabilir.) küçük yapılardır. Bu yapıları, istediğimiz yerde çağırıp programımıza dahil edebilir, ona iş yaptırabiliriz. 

Eğer bir programda birden fazla defa ortalama hesabı yaptıracaksak, bunu her seferinde ayrı ayrı yaptırmak, aynı kodu defalarca yazmak mantıksız olur. Bunun için tek bir fonksiyonun içinde yapılacak işi kodlayıp, onu istediğimiz yerde çağırmak karmaşıklığa yol açmaz, daha anlaşılabilir hale gelir. Yapacağım örnekte bunu daha iyi anlatacağım.





Yapacağımız uygulama, basit bir kare alma uygulaması olacak. Textbox'a girilen sayı, arka tarafta işleme sokulacak, karesi alınıp çıktıyı verecek. Kare alma işlemini ise bir fonksiyon içerisinde yapacağız.






Kodlarımız bunlar. Butonumuzun "click" olayında byte türünde bir değişken tanımladık ve textbox'dan aldığımız değeri onun içerisine attık. Textbox'dan alınan değer string'dir, C#'da yapılan atama işlemlerindeki gibi sürekli tipler arası dönüşüm yapılmasına gerek kalmıyor. Vb.net'te "kapalı dönüşüm" adı verilen özellik sayesinde textbox'dan alınan değeri, direkt integer bir değişkenin içerisine atmak için özel bir dönüşüm kodu yazılması gerekmiyor. Bunu program otomatik olarak yapabiliyor. Tabi bu her şey için geçerli değil.





Kodlarda, aşağıda gördüğümüz yapının adı "Function" yani "Fonksiyon"dur. 

"Private Function" oluşturduğumuz zaman özel erişimli bir fonksiyon yaratmış oluyoruz. 
Belirli erişim belirleyiciler vardır;



Private=Özeldir. Hiçbir sınıftan erişilemez.

Public=Geneldir. Her sınıftan erişilebilir.
Protected=Korumalıdır.
Friend=Birbiriyle friend yaptığımız sınıflar arasında iletişim olabilir.



Private Function KareAl(ByVal sayi2 as Byte)= bu kod parçasında gördüğümüz KareAl, fonksiyonun adıdır. Parantez içerisinde bulunan kod parçası, programın içinden gönderilen ve işleme sokulacak olan değerin alınmasını sağlıyor. Yani parametre alıyor. Ana programda ise KareAl(sayi) parametre gönderir. Bunun anlamı, KareAl adındaki fonksiyonu bul ve oraya "sayi" değerini gönder.




Fonksiyonumuzun içinde "sonuc" adında integer bir değişken tanımlıyoruz. Sonra sonucun içerisine, dışarıdan aldığımız değerin yani parametrenin karesini atıyoruz. 

 Eğer fonksiyon kullanıyorsak, "return" deyimini kullanmamız gerekiyor. Bu geri dönüşlü bir yapı yarattığımız anlamına geliyor. Return deyimi, geri dönecek değeri döndürmeye yarıyor.



Private Function... olarak açtığımız yapımızı End Function ile kapatıyoruz. Vb.net'te küme parantezi mantığı yoktur, açılan yapılar "End" ile kapatılır. (End Function, End Sub, End If... vb.)




Değer, fonksiyondan ana programa geri döner. Ve ana programda (yani click'de) textbox2'nin içerisine atılır. Yine bir dönüşüm uygulanmaz, bunu program otomatik olarak yapar.




Böylece program tamamlanmış olur. Fonksiyon yapısını, programınızın her yerinde çağırabilir, ona işlem yaptırabilirsiniz. Eğer büyük matematiksel yapı içeren bir program yapıyorsak ve kare almaya programın çeşitli yerlerinde ihtiyacımız varsa, bunu bir fonksiyon içerisinde hesaplattırıp, istediğimiz yerde parametre gönderip geriye sonucumuzu çekebilir ve kullanabiliriz. Bu yüzden fonksiyonlar bizim dostlarımızdır, bize çok yardımcı olurlar. Özellikle çok büyük projelerde, fonksiyon yapısı hayat kurtarır.

 Vb.Net, C, C# gibi yapısal programlama dillerinin mantığı, her zaman dediğim gibi, aynıdır. Sadece komutların yazılışlarında farklılıklar olur. Bol örnek yaparak dile alışmanızı ve yazılış şekillerini öğrenmenizi tavsiye eder, hepinize iyi günler dilerim.

Yorumlar

Bu blogdaki popüler yayınlar

VB.NET'TE VERİTABANI İŞLEMLERİ

C# - WPF APPLICATION - LISTBOX KULLANIMI

VB.NET'TE VERİTABANINA KAYIT EKLEME İŞLEMİ