Her Yönüyle C# Programımız?

Her Yönüyle C# Programımız? Merhaba arkadaşlar, C# kategorisinin son makalesinde bir program yazalım isterseniz, C# dili ortaya çıkalı daha hiç birşey yapmayan varsa ya da birşeyler yapıp da ne yaptığından emin olmayan varsa işte bu makalem tam size göre. Bu makalemde klasik Merhaba Dünya programımızı yazacağız. Ama programımızı yazarken her şeyi adım adım öğreneceğiz. Unutmayın amacımız burada Merhaba Dünya yazmak değil. 🙂 Arkadaşlar derse geçmeden şunu da belirtmek isterim ki, ‘Merhaba Dünya’ mesajını ilköğretim, ortaöğretim, yükseköğretim, Lisans, Önlisans benzeri eğitim ve öğretim kurumlarında bilgisayar yazılımları ile ilgili derslerde görmeniz %88 oranındadır, Bu da işin önemli ve gerçek esprisi 🙂     O durumda aşağıdaki programı iyice inceleyin önce, şöyle bir süzün programı yukarıdan aşağıya, fazla detaylara inmeden yazımızı okumaya devam edin;   1 //dosya ismi : Merhaba.cs 2 üç using System; 4 5 namespace MerhabaDunya altı 7 { 8 class Sınıf1 9 { on static void Main(string args[]) 11 { 12 Console.WriteLine(“Merhaba Dünya”); 13 } 14 } 15 } Yukarıdaki ilk programımızı incelediğinize göre açıklamalarımıza geçebiliriz. Eğer önceden C++ ve Java ile ilgilenmiş kardeşler varsa yukarıdaki kodlar tanıdıkları gelebilir. Nitekim, her ne kadar Microsoft firması ilk başlarda bunu kabul etmese de C# dili Java ve C++ dillerinin harmanlanmasından oluşturulmuş bir dildir. Bugün bunu kabul etmeyen yok sanırım.   Yukarıdaki ilk programımızın kodunu ben Notepad ile yazdım. Ama kodu derleyip çalıştırmak için bir C# derleyicisine ihtiyacımız olacak. C# derleyicisi Visual Studio.NET ile kurulabileceği benzeri www.microsoft.com web sitesinden .NET Framework yazılımını indirerek de kurulabilir. Eğer Visual Studio ortamında çalışıyorsanız yukarıdaki kodları Visual Studio .NET ‘ in sunduğu hazır plan şablonlarından rahatlıkla oluşturabilirsiniz. Visual Studio programını devreye soktuktan sonra Project->New menüsünden dil şekilde Visual C# ve plan şablonu şekilde da “Console Application” seçerseniz, main işlevi içindeki kodlar dışındaki bina otomatikmen oluşturulacaktır.Eğer .NET Framework yapısını kurduysanız Console Ekranından C# derleyicisini çalıştırmalısınız. Komut ekranını yazarak kaynak kodumuzu derleyebilirsiniz.   Şimdi kodlarımızı inceleyelim. İlk satırdaki ifadesi System adlı bir İsim sanayinin kullanılacağını belirtiyor.Peki nedir bu İsim endüstrisi (Namespace). İsim piyasası kavramı son senelerde program modüllerinin aşırı sayıda artmasından Ötürü popüler duruma gelmiştir. Kolay ve hızlı programlama yapmamızı verici bir takım hazır kütüphaneler her ne kadar işlerimizi kolaylaştırsa da Şayet İsim alanları olmasaydı kullanacağımız her kütüphane bizim için işin içinden çıkılmaz bir duruma gelebilirdi. Düşünün ki iki ayrı şirket iki ayrı sınıf kütüphaneleri oluşturdu ve bu kütüphanelerin içerisinde tıpkı isimli aniden çok fazla sınıf yapısı var. Eğer biz programcı şekilde iki firmanın da kütüphanesini kullanımı istiyorsak her ikisini tıpkı kod içerisinde kullanamayız. Çünkü tıpkı isimli sınıflar derleme aşamasında hata verecektir. Bu halde yapılması gereken tek şey ya da en etkili metod İsim alanlarını kullanmaktır. Yani bir sınıfa (class) ulaşabilmek için onun İsim alanıyla çağırmak. ad alanları hiyerarşik yapıda olabilir. Mesela System İsim piyasasının altında başka bir İsim sektörü onun altında başkaları vs. İşte .NET İsim piyasası (namespace) hiyerarşisinin en tepesinde bulunan İsim sahası System adlı İsim alanıdır. En temel işlemlerimiz için dahi bu İsim sahasını kullanmalıyız. Aksi durumda programımız çalışmayacaktır. ad alanlarını kullanımı için İsim sanayinin başına using sözcüğü getirilir.   Soru: System İsim sanayinin içerisinde Data isimalanında bulunan bir cs adlı sınıfı kullanabilmek için kaynak kodumuza ne eklememiz gerekir.   Cevap : Kaynak kodumuzun en başına aşağıdaki ifadeyi yazmamız gerekir.   using System.Data;   Bildiğiniz bu gibi C# dili %100 nesne tabanlı bir dildir. Yaptığımız herşey bir sınıf nesnesidir C# dilinde. Nesne olmayan hiçbirşey yoktur. C++ dilindeki main işlevini hatırlarsınız çoğunuz. Programımız c++ dilinde main işlevinden başlar ama main işlevi hiç bir süre bir sınıf içerisinde olmamıştır. C# dilinde herşey sınıflarla temsil edildiği için main işlevi de bizim belirlediğimiz bir sınıfın işlevi olmak zorundadır. Yukarıdaki programımızda ifadesi ile programımızda bir sınıf nesnesi oluşturuyoruz. Sınıf1 sınıfının bir işlevi olan main’in elbette eskiden de bulunduğu bunun gibi özel bir manası vardır. Biliyorsunuz ki derleyiciler programın nerden çalışacağını bilmek isterler, ters durumda derleme işleminden sonra “programınız için başlama noktası bulunamadı” hatası alırız. Bu sebepten dolayı main işlevi bizim için eskiden de bulunduğu bu gibi programımızın başlangıç noktasıdır. Yani biz programda yapmak istediklerimizi main işlevi içerisinde gerçekleştireceğiz. Sınıf tanımlamalarımızı ise istediğimiz noktada yapabiliriz. Daha öncede dediğimiz bu gibi İsim alanları çok sayıda sınıfın yahut tek bir sınıfın oluşturduğu kümedir. Bizim ana programımız da bir sınıf olduğuna göre Class1 sınıfını istediğimiz isimli bir İsim alanına sokabiliriz. Yukarıda yazarak İsim sahasını başlatıyoruz.   Şimdi main işlevinin içine bakalım, System isimalanında bulunan Console sınıfının bir metodu olan WriteLine() ile ekrana bir string ifadesi yazdırıyoruz. Biz burda iki tırnak ifadesi içerisinde yazımızı belirtmemize karşın fonksiyonun kullanması bununla kısıtlı değildir. C# dilindeki fonksiyon yoğun yükleme (function overloading)kullanılarak fonksiyonu çok sayıda parametrik yapıda kullanabilmemiz sağlanmıştır. Fonksiyon sık yükleme konusuna bundan sonraki yazılarımızda değineceğimizi belirtelim. WriteLine() işlevinin adından da anlaşılacağı bunun gibi ekrana basmak istediğimiz yazıdan sonra satır atlama işlemi yapar.Bunu test etmek için bir tane “Merhaba Dünya” da siz yazdırın. Göreceksiniz ki siz belirtmemenize karşın alt alta iki tane “Merhaba Dünya” yazısı çıkacak.


Yapılan Yorumlar
Erdem OFLAZ

Bir mum, diğer mumu tutuşturmakla ışığından bir şey kaybetmez.
 Kategoriler
 Popüler yazılar