Selamlar, saygılar & sevgiler,

Bu ilk makalemde sizlere programcılığın bel kemiği olduğunu düşündüğüm ‘Class’lardan yani sınıflardan bahsedeceğim.

Kod kısmına geçmeden önce, işin biraz teoriğinden bahsedelim. Nedir bu class’lar ve ne işe yararlar ?

‘Her gelişim bir ihtiyaçtan doğmuştur’ mantığı ile ilerlersek classları var eden ihtiyaçları irdelemek tam da ihtiyacımız olan şey olacaktır.

Giriş yaparken class’lar için ‘programcılığın bel kemiği’ demiştim,  açıklayayım; İnsan vücudunu düşünün her organın kendine göre bir görevi var, kalp tüm vücuda kan pompalamakla görevli, beyin yönetimsel işlerde gibi… Tüm vücudu bir arada tutan, düzenli bir yapı oluşturmayı sağlayan ise iskelet sistemidir.  Class dediğimiz yapı tam olarakta budur. Programı bir arada düzenli bir şekilde tutan, karmaşıklığı engelleyen yapıdır. İnsanların isketinin olmadığını düşünsenize, ne kadar komik bir görüntümüz olurdu 🙂 Yazılımcı büyüklerimiz bunu düşünmüşler ve programların iskelet yapısı olan class’ları yaratmışlar.

Bugüne kadar yazdığınız tüm kodlar; ‘Buton altı kodları’ idi amiyane tabirle lamerlik’ti .

Şimdi örnek uygulamamız ile class oluşturmayı ve kullanmayı öğrenelim;

Senaryomuz gereği, bir yazılım firmasıyız , müşteri takibi için müşteri classı oluşturacağız ve müşteriler ile yapılan görüşmeleri kayıt altına alacağız.

1 – ) mClasslaraGiris  İsminde yeni bir windows form app. oluşturalım  (File –> New –> Project)

1

Solution Explorer kısmından ‘Musteri’ isminde yeni bir class oluşturalım (mClasslarGiris –> Add  — > Class)

2                                           3

İlk class’ımızı oluşturmuş bulunmaktayız, şimdi Musteri classı içerisinde müşteriyi müşteri yapan özellikleri tanımlayacağız ve kullanacağız.

4

Müşteri için tanımlayacağımız özellikler (properties’ler) şunlar olacak ;

Adı,

Telefonu,

Firması,

Görüşme,

Müşteri ile görüşen personel .

Class’ımıza bu bilgileri hemen ekleyelim;

5

Yeri gelmişken bir hatırlatma yapalım, burada Personel için personelin adı, telefonu, yaşı ve Firma içinde Firma adı, adresi gibi bilgileride girmemiz gerekebilir ama bu şema buna şuan için olanak sağlamıyor. Bunu yapabilmek için ayrıca classlar oluşturmamız gerekiyor ama konuyu dağıtmamak için bunu bir sonraki makaleye saklıyorum.

Devam edelim;

Artık müşterimizin özelliklerinide tanımladığımıza göre bunları kullanma vakti geldi.

Form1 Ekranına çift tıklayarak yada properties – events ayarlarından load olayına çift tıklayarak form1 ekranının load eventini tetikleyin.

6

7

Şimdi az önce oluşturduğumuz Musteri class’ını kullanabilmek için bu classtan bir instance alacağız, yani bunu kopyalayıp kullancağız.

Açıklayalım; Bunun için en güzel örnek, benimde eğitimlerim sırasında net bir şekilde anladığım yoklama kağıdı örneği olacaktır.

Yoklama kağıdını düşünün, üzerinde ad alanı, soyad alanı, numara alanı & imza alanı olan taslak bir kağıt parçası. Bir merkez tarafından tasarlanan bu kağıt hergün ihtiyaç duyulduğu kadar çoğaltılıp, üzerine farklı kişilerin bilgileri kaydediliyor.

8

Burada ki ‘Musteri’ aldığımız instance’ın tipi, ‘mstr’ adı, ‘new’ anahtar kelimesi ise tam anlamıyla fotokopi çekme işlemidir.

Class taslağımızdan bir kopya oluşturduğumuza göre artık bunları dolduralım;

Hemen altına  instance’ımızın ismi olan ‘mstr’ yazıp noktaya bastığımızda az önce oluşturmuş olduğumuz taslaktaki bilgilerin geldiğini görebileceksiniz.

9

Şİmdi burada yer alan mstr’nin properties’larını dolduracağız, ancak buraya dikkat.

Lise de iken mutkala denk gelmişsinizdir, bazı hocaların kalem takıntısı vardı. Yoklama kağıdına illa belirli kalemlerle imza attırırlardı, yukarıda ki resimde de ‘mstr’nin Ad isimli properties’ini hangi kalemle yazacağımızı gösteren bir bildirim var(string Musteri.Ad) , bunu az önce class oluştururken biz belirlemiştik. Bu properties’in , belirttiğimiz tip dışında bir değer alması yani farklı bir kalemle yazılması mümkün değil! (gaddar hoca:))

Şimdi bu bilgileri dolduralım;

yeni10

Aynı şekilde fotokopi çekmeye devam ederek yeni bilgiler ekleyebiliriz;

yeni11

Tabii ki aldığımız instance’ın ismini değiştirerek.

Artık oluşturduğumuz ‘mstr’ & ‘mstr1’ instance’larını istediğimiz gibi kullanabiliriz.

Classlara giriş için faydalı bir makale olduğunu düşünüyorum, umarım öyle de olmuştur , bir sonra ki makalemde methodlara giriş yapacağız ve class’ların detaylarını inceleyeceğiz.

Sonrasında ise şunu söyleyeceğiz ;

ELVEDA ‘Buton altı kodculuk’,

HOŞ GELDİN ‘Nesne Tabanlı Programlama’

Saygılarımla

Umutcan VURGUN

Yorum bırakın