C# Metotlar ve Metot Tanımlama
Metot Kavramı
Metotlar bir program
içerisinde aynı işi gerçekleştiren satırları belirli düzende sadece bir kez
oluşturarak gerektiğinde tekrar tekrar kullanabilmemizi sağlayan alt
programlardır. Metotlar sayesinde kod tekrarları yapmadan daha anlaşılır bir
şekilde kodlama yapılabilmektedir.
! Metotlar
direk olarak çalışmazlar ancak program içerisinde çağrılarak
çalıştırılabilirler. Bir metot bir amacı gerçekleştirmeye yönelik olarak
yazılır. Metot içerisinde bir veya daha fazla ifade bulunabilir.
Metot Tanımlama
! Her
bir metot tanımlanırken metot a bir isim verilir. Metot çağrılırken verilen
isim kullanılarak çağrılır.
! Bazı
metotlar dışarıdan değer alabilirler. Dışarıdan gönderilen değerlere parametre
denir.
! Yapılan
işlem sonucunda bazı bilgiler metotlar ile metodun çağrıldığı bölüme tekrar
gönderilebilir. Bu metotlar geri değer döndüren metotlardır.
<erişim biçimi>
<Döndürülecek değer türü><Metodun ismi>(Parametre) { Çalıştırılacak kodlar; } |
Bir fonksiyon içerisinde şunları bulundurur.
|
Public (*)
|
Yapı
|
Tip
|
Fonskiyonun İsmi
|
Parametreler
|
Yapılacak İşlemler
|
Geri Dönüş Değişkeni (*)
|
* : Opsiyoneldir her fonksiyonda bulunmayabilir.
Public : Bir fonksiyonun başında public
kelimesi varsa bu fonksiyon programın bütün sınıfları içerisinde
kullanılabilir. Fakat yoksa sadece o sınıf içerinde kullanabilir.
Yapı : Bir fonksiyonun iki çeşit yapıdan
oluşur. Dinamik fonksiyonlar ve statik fonksiyonlar. Bunlara bir sonraki yazıda
ayrıca değinilecektir.
Tip : Programın geri döndürdüğü tipi
belirler.int,string,char,void,boolean gibi bir çok tip belirlenebilir. Export
yani fonksiyonun çıktı verisi.
Fonksiyon İsmi : Bir fonksiyonun mutlaka bir ismi de
olmak zorundadır. Çünkü fonksiyonu çağırdığımız zaman kendisini bilsin. Fonksiyonun
ismini belirlerken tıpkı değişken ismi belirlediğimiz gibi belirlemeliyiz. Türkçe
karakterler kullanılmaz , sayı ile başlamaz vs vs..
Parametreler : Fonksiyona dışardan girilecek
değişkenlerin tamamı parametre olarak tanımlanır.Birden fazla parametre
tanımlarken değişkenler arasına ,(virgül) koymamız gerekir ve her seferinde
parametre olarak alınıcak değişkenlerin tipleri de belirtilmelidir. Import yani
fonksiyonun veri girdisi.
Yapılacak İşlemer : Yukarıdaki kısımlar uygulandıktan
sonra { ve } blokları arasına fonksiyonun görevi yazılmalıdır. Import olarak
alınan parametreler buradan kullanılır ve return yapısıya fonksiyonun kendisine
export edilir.
Geri Dönüş Değişkeni : Bir fonksiyon geriye herhangi bir
değer döndürüyorsa return yapısıyla bu işlem yapılır. Fonksiyon işlemlerini
yaptıktan sonra sonuç itibariyle bir değer üretiyorsa bu değeri fonksiyona
aktarmamız gerekecektir. Bu değeri taşıyan değişken bizim geri döndürmemiz
gereken değerdir. Bir değişken içindeki değeri fonksiyonun kendisine aktarmak
istiyorsanız return değişkenadi; yapmanız gerekir. Mesela void tipinde bir
fonksiyonun geriye dönüş değişkeni olması gerekmez çünkü sadece ekrana yazı
yazacaktır. Burada return kullanmamız gerekmez. Şuna da dikkat etmek gerekir. Geri
dönüş değişkeninin tipiyle fonksiyonun tipi aynı olmalıdır. Aksi halde program
hata verir.
Metotlar iki çeşittir;
Değer Döndüren Metotlar
|
Değer Döndürmeyen Metotlar
|
Bu metotlar, geri değer döndürmeyen ve kendi
içine yazılı kodları çalıştıran metotlardır.
Örnek;
class Program { static void MerhabaYaz() { Console.WriteLine("Merhaba"); } static void Main(string[] args) { MerhabaYaz(): // metodun çağrılarak çalıştırılması Console.ReadKey(); } } |
! Metot
ana programdan direk çağrıldığı için static erişim tipinde tanımlandı.
Metod geriye değer döndürmediği için dönüş değeri kısmı void olarak
belirlendi. Metot adı MerhabaYaz() olarak belirlendi Parametre almadığı
için parantez içi de boş bırakıldı.
Değer Döndüren Metotlar
Bu metotlar, parametre
kullanarak geriye değer döndüren metotlardır.
Örnek;
class Program { static int
faktoriyelhesapla(int n) { int
snc = 1; for
(int i = 1; i <= n; i++) { snc
= snc * i; } return
snc; } static void
Main(string[] args) { int
r = Convert.ToInt16(Console.ReadLine()); Console.WriteLine(faktoriyelhesapla(r)); Console.ReadLine(); } } |
Yorum Gönder Blogger Facebook