Şimdiye kadar yaptığımz
örneklerin hiç biri çalışır bir program değildi. Şimdi
çalışabilecek komple bir program yazalım. C#ta programlar
yöntemlerden ve birbiri ile alakalı olan yöntemlerin gruplanarak
oluşturduğu sınıflardan oluşur.
Yöntem, belirli bir işi
yapan program kodlarının bir araya gelerek oluşturduğu program
bloğudur. Sonra bu yöntemleri gruplayarak sınıfları oluştururuz.
En basit C# programı bir sınıftan ve o sınıfa üye bir yöntemden
oluşur. Bir sınıfın içinde birden çok yöntem bulunabileceğine göre
birisinin giriş noktası olması gerekir. Program çalıştığında ilk
olarak hangi yöntem devreye girecek? Bu sorunun cevabı Main
yöntemidir. Bilgisayar, sınıfın içindeki Main isimli yöntemi ilk
olarak çalıştır. Daha sonra programcının belirlediği yönergeleri
izleyerek diğer yöntemleri de çalıştırır. C# programında özel bir
role sahip olan Main, bir anahtar kelime değildir. Eğer isterseniz
Main isminde bir değişken de tanımlayabilirsiniz.
Yöntemlerin girdileri
ve çıktıları vardır. Örneğin öğrencinin bir dersten aldığı
sınavların ortalamasını alan bir yöntemimiz varsa, öğrencinin
sınavlardan aldığı sonuçlar yönteme girdi olarak geçilir ve geriye
bu sınav sonuçlarının ortalaması olan puan döner. Başka bir
ifadeyle söylersek, yöntemler; yöntem parametreleri olarak
adlandırılan değişkenelri girdi olarak alırlar, bir takım
işlemlere tabi tutarlar ve dönen değer olarak bir çıktı üretirler.
Yöntemlerin bir
belirteçleri bir de dönen değerleri olur. Bnular yöntem isminin
soluna yazılır. Daha sonra yöntem isminin önüne parantez
içerisinde aralarına virgül konularak yöntem parametreleri olan
değişkenelr yazılır. Daha sonra yöntemin gövdesi gelir. Bu gövde
küme parantezleri içerisine alınır. Eğer yöntemin bir dönen değeri
yoksa dönen değer olarak void yazılır. Yöntem parametresi
almayacaksa yöntem isminin önüne boş parantezler konur. Şimi Main
yöntemini yazalım.
1 |
static void Main() |
2 |
{ |
3 |
int Elma, Armut, Toplam; |
4 |
|
5 |
Elma = 2; |
6 |
Armut = 3; |
7 |
Toplam = Elma + Armut; |
8 |
} |
Çoğu programcı yöntem
içeriğini girintili olarak yazmayı tercih eder. Ben de
girintilemeyi severim.
1 |
static void Main() |
2 |
{ |
3 |
int Elma, Armut, Toplam; |
4 |
|
5 |
Elma = 2; |
6 |
Armut = 3; |
7 |
Toplam = Elma + Armut; |
8 |
} |
Bazı programcılar
sınıfın başlangıcını ve bitimini belirten küme parantezlerinden
ilkini hemen sınıfın bildiriminin yapıldığı ilk satırın sonuna
koyarlar. Ben bu şekilde yazmayı tercih etmiyorum.
C# derleyicisi bizim
girintileme tarzımızla ilgilenmez. Çalıştığınız şirket ya da
birlikte çalıştığınız proje yöneticisi sizi bir tarzı kullanmaya
zorlayabilir. Eğer böyle bir zorunluluk yoksa istediğiniz
girintileme tarzını seçer devam edersiniz.
Bir C# programında en
temel birim yöntem değildir tabiî ki. Daha önce de bahsettiğimiz
gibi en temel birim sınıftır. Yöntemler bir araya gelerek
sınıfları oluştururlar. Mesela yukarıda yazdığımız Main de bir
yöntemdir.
Temel bir C# programı
bir adet sınıftan ve bir de Main isminde yöntemden oluşur.
Sınıflara isim belirlerken değişkenlerin isimlendirilmesinde
dikkat ettiğimiz kurallar geçerlidir. Main kelimesi anahtar kelime
olmamasına rağmen, Main isminde bir yönteme sahipse sınıf ismi
olarak Main kullanılmaz. Sınıf bildirim de class kelimesi, sınıf
ismi ve sınıf gövdesinden oluşur. Sınıf gövdesini de yine küme
parantezleri içine alırız. Sınıf gövdesinde sınıfı oluşturan
yöntemler bulunur. Sınıf içeriğini de girintilemek benim tercih
ettiğim bir tarzdır. Demek oluyor ki yöntem içerikleri iki defa
girintelenecek.
Şimdi çalışan bir bütün
C# programı yazalım. Bir sonraki ünitede de derleme ve çalıştırma
işlemlerini inceleriz.
1 |
class BirProgram |
2 |
{ |
1 |
static void Main() |
2 |
{ |
3 |
int Elma, Armut, Toplam; |
4 |
|
5 |
Elma = 2; |
6 |
Armut = 3; |
7 |
Toplam = Elma + Armut;
Console.Writeline (Toplam);
|
8 |
} |
8 |
} |