C#'da sınıf (class) yapısı, tüm projelerinizde kullanacağınız temel bir ögedir. Sınıf yapısı içinde fonksiyonlar, değişkenler ve hatta diğer sınıflar yer alabilir. Tam olarak neden bahsettiğimizi anlamak için yapmış olduğumuz örnek projelerin kodlarını inceleyerek başlayalım.

CSharp, tasarımcılarının deyimiyle Component (bileşen) tabanlı bir yazılım dilidir. Örnek resimdeki kodlarda bir arayüz bileşenine ait kodlar görünmektedir. Görüldüğü üzere önce namespace, sonra da class alanları süslü parantezler içinde bulundurulmaktadır. C#'da en küçük bağımsız yapı bir class veya structure'dır. Yazacağınız fonksiyonlar ve fonksiyonlara bağlı değişkenlerin tamamı class veya structure yapılarının içinde bulunur.
Kodlamaya yeni başlayanlar için yapıyı zihinlerinde canladırabilecekleri bir örnek vermeye çalışacağım. Örneğe başlamadan önce "main" fonksiyonunun işlevini anlatalım.
Bilgisayarınızın masaüstündeki bir yazılımın kısayoluna tıkladığınızı düşünün. Yazılım çalıştırılacak ve muhtemelen karşınıza bir arayüz açılacak. Peki siz kısayola tıkladığınızda işletim sistemi ne gibi bir yol izlemekte? Tıkladığınız kısayol, .exe uzantılı bir dosyaya yöneliyor ve bu dosya içinde çalıştırabileceği bir sürü fonksiyonla karşılaşıyor. .exe uzantılı dosya içindeki hangi fonksiyonu çalıştıracak? Tahmin ettiğiniz üzere, bir yazılımın başlatılması için bir giriş noktası bulunmalıdır. Bu giriş noktası da tabi ki bir fonksiyon olmakla birlikte, adı "main"dir. C# yazılım dilinde (ve bildiğim kadarıyla diğer yazılım dillerinde de), bir executable dosya çalıştırıldığında öncelikle "main" fonksiyonu çalışır.
C#'da tüm fonksiyonlar class'lar içinde yer almalıdır demiştik. Öyleyse main fonksiyonu da bir class içinde yer almaktadır. Fonksiyon çalıştırıldıktan sonra hem kendi bulunduğu class içindeki diğer fonksiyonları çağırabilir hem de diğer class'ların kopyalarını(?) oluşturup o class'ları kullanabilir. Şimdi bir örnek vererek açıklamaya devam edelim.
Vereceğim örnekleri online derleyici kullanarak deneyebilirsiniz. Online derleyici için aşağıdaki bağlantı adresini ziyaret ediniz:
http://www.tutorialspoint.com/compile_csharp_online.php
Derleyici kullanırken önce "Compile" sonra "Execute" düğmelerine basmalısınız.
using System.IO;
using System;
class Yazilim
{
static void Main()
{
Console.WriteLine("Merhaba dunya!");
}
}
Yukarıdaki kodları incelediğimizde main fonksiyonumuzu görüyoruz. Yazılım çalıştırıldığı anda öncelikle main fonksiyonu çağrılacak ve bilgisayar satır satır her kodu sırasıyla çalıştıracak. Ta ki main fonksiyonundaki son satırdaki kod da çalıştırılana kadar.
Örneğimizde sadece main fonksiyonu ve bu fonksiyon içinde de sadece bir satır kod bulunmakta. Yazilim class'ının hemen üstünde iki satır kod daha görüyoruz. Bu kodlar, namespace anlatımlarından hatırladığımız kadarıyla, kod yazarken fonksiyonlara daha az namespace adı yazarak ulaşabilmemizi sağlamaktadır.
using System; deyimini kullanmadan da yukarıdaki kodları yazabilirdik. Ancak bu defa ekrana metin yazdırmak için şu şekilde bir kod yazmamız gerekirdi:
System.Console.WriteLine("Merhaba dunya!");
Yazilim class'ını kendi içinde bir bütün olarak düşünelim. Bu class,
Hiç yorum yok:
Yorum Gönder