7.05.2010

Java'da Sınıf ve Metotları Anlayalım

Yazılım, gerçek dünyaya ait problemlerin  bilgisayarda gösterimi ve çözülmesi ile ilgilidir. Gerçek dünyada her şey  nesneler ve nesnelerin işlenmesi ( ya da değişimi ) ile ilgilidir. Bu sebeple programların da nesnelerin tanımı (sınıflar) ve nesnelerin işlenmeleri (metotlar) çerçevesinde oluşturulmaları, programların daha kolay gelişmesini sağlar.

Java'da sınıf kavramını daha önce belirtmiştim. Şimdi biraz daha açıp örneklerle pekiştirmek istiyorum. Sınıf kavramı için benzer özellik gösteren nesnelerin oluşturduğu topluluk diyebiliriz. Hatta bunu diğer yazımdan başka bir örnekle de açıklayabiliriz. Sınıfı bildiğiniz sınıf olarak düşünün. İçerisinde neler vardır. Öğrenciler vardır değil mi? Diğer alet-zırzavatlarda bu vereceğim örnekle benzerlik gösterecektir; ama farklı bir sınıf olarak tanımlanabilirler. Biz sadece sınıfın içinde öğrencilerin olduğunu varsayalım. O zaman öğrencilerin hepsi birer nesne olur değil mi? Hatta gerçek hayatta bile düşünseniz onlar birer nesnedir, her şey gibi. Bunların benzer özellikleri var değil mi? Zaten benzer özellikleri olmasa aynı sınıf içinde yer almazlar. En basitinden el,kol ve ayakları var. Bu insan sınıfının da özellikleri. Başka üniformaları var, kitapları var,defterleri var. Hemen hepsi aynı dersleri alıyor (muhtemelen aynı hocadan) vs vs..

Gelin başka bir örnek verelim:

Kitap bir sınıftır değil mi? Buraya dikkat bende burayı karıştırmıştım en başında. Kitap tabiri olarak java kitabı, matematik kitabı, tarih kitabı vs diyoruz. Hepsinde kitap geçiyor ve hepsi de yapraklardan, kendi kaplarından oluşuyor, içerisinde yazılar var vs. Bunları birleştirirsek şu sonuca ulaşıyoruz:
Tarih kitabı bir nesnedir, java kitabı bir nesnedir, matematik kitabı bir nesnedir. O zaman KİTAP bir sınıftır.

Hatta daha iyi bir örnek:

Java Kitabı
Özellikleri:

  • Kitabın adı
  • Yazarları
  • Yayıncı
  • Sayfa
  • Fiyat

Matematik Kitabı
Özellikleri:

  • Kitabın adı
  • Yazarları
  • Yayıncı
  • Sayfa
  • Fiyat
Sanırım bayağı kapsamlı bir örnek oldu anlaşılması bakımından...

Peki metot nedir?
Kısaca sınıfların içinde işlevi olan program parçalarıdır desek sanırım yanlış olmaz. Sınıf içinde tanımlı metotlar ileride programın ana gövdesine çağırılır ve çalıştırılır. Metot kavramına da güzel bir örnek vermek gerekirse, bir mağazada çalışan personellerin oluşturduğu bir sınıfı ele alalım.

Personel Sınıfı:
Sınıf Adı: Personel
Özellikleri:

  • isim
  • sicilNo
  • vergiNo
  • ePosta
  Metotları:

  • maaşHesabı();
  • ePostaYollama();
Sınıf metotları, sınıfa ait tüm nesnelerle birlikte kullanılabilir. Yukarıdaki örnekte, Personel sınıfının maaşHesabı() ve ePostaYollama() metotları tanımlanmıştır. Bu metotlar, Personel sınıfına ait herhangi bir nesne ile birlikte kullanılabilir. maaşHesabı() metodu, hangi Personel nesnesi ile birlikte kullanılmışsa, o personelin maaşını hesaplar; ePostaYollama() metodu da hangi Personel nesnesi ile birlikte çağrılmış ise o personel tarafından bir eposta gönderilmesini sağlar.

Diğer yazılarımda örneklerle daha da iyi açıklayacağım...

Hiç yorum yok:

Yorum Gönder