![]() |
![]() |
|||||||||||||||||||||||||||||||||
|
Javada nesne kavramları Bu makalemizde sizlere nesnesel
programlamanın temeli olan nesnesel kavramları anlatacağım.Bunun için sizlere kendi yazdığım örnek kodları verip konuyu bu kodlar üzerinden anlatmaya çalışayım. Kısaca size örnek vereceğim koddan bahsedeyim.Aşagıdaki kodu tamamen ele alacak olursak vermiş olduğum kod girilen kişi bilgilerini bir nesne de tutup nesnelerin eşit olup olmadığını kontrol ediyor.Bu java.lang kütüphanesinin hazır fonksiyonu "nesnea.equals(nesneb)" diyerek te yapılabilir.Ama amacımız nesnesel yaklaşımı öğrenmek.Şimdi kişinin ne gibi özellikleri olur onu tartışalım. Ele alınan bir kişi isme ve soyisme sahip olmalıdır.Bunun yanına yaş kimlik no yazılabilir.Şimdi ne gibi sınıflara bölebiliriz.Tek bir kişi (Person) classında bu verilen özellikler yer alabilir.Ama daha iyi bir yaklaşım, isim (Name) ve kişi (Person) classları olacaktır.Yapmamız gereken şey isim sınıfını yaratıp bu sınıftan oluşturacağımız nesneyi kişi sınıfında kullanmak olacaktır.Sırası ile kodları vermeye başlayalım; Sınıf oluşturulduktan sonra yapmamız gereken şey sınıfa ait özellikleri aktarmak olacaktır.Biz biliyoruz ki isim dediğimiz şey bir ad ve soy addan oluşur.Bu özellikler isteğe göre private ya da public tanımlanabilir.Ama benim önerim encapsulation açısından tanımladığınız özelliklerin private olması olacaktır.Çünkü bu sayede belirtmiş olduğunuz özelliklere kullanıcı direk ulaşamaz,onun yerine tanımlanmış olan bu özelliğin getter-setter larını kullanıp bu özelliğe atıf yapar.Tanımlama bittikten sonra nesne yaratma işlemine geçilir.Bu işleme constructor denilmektedir.Bu methodu kullanarak nesnenizi yaratmış olursunuz.Yukarıda ki kodda tanımlanmış olan 2 tane constructor bulunmaktadır.Bunlardan bir tanese parametresiz, diğeri ise parametreli olandır.Bu işlemler bittikten sonra tanımladığınız özelliklerin getter-setter ları yazılmalıdır.En altta bulunan public boolean equals(Name arg0) ise parametre olarak verilen arg0 nesnesi ile o an elimizde olan nesneyi karşılaştırmaktadır.Bu this ile yapılmaktadır.this o andaki nesneye atıf yapmaktadır. ======================================================================================== Şimdi kişi (Person) sınıfını tanımlayıp inceleyelim. javada en sevdiğim şeylerden biri tanımlamış olduğunuz bir sınıftan new operatörü ile oluşturduğunuz nesneyi başka bir sınıf içinde kullanabilmemizdir.Söylediğim şey tam olarak yukarıdaki kodda yapılmaktadır.Name sınıfından oluşturduğumuz nesneyi kişi sınıfında rahatlıkla kullanabiliriz.Aynı işlemler bu sınıf içinde yapılır.Bunlara ek olarak değişik methodlar (isValid,toString) eklenebilir. Şimdi bu kodu test etmek için ayrı bir sınıf açıp(main şart) kodumuzu test edebiliriz.Bunun için testPerson diye bir sınıf oluşturalım ve ; Şimdi kodumuz tamamlanmış durumda.Umarım nesne kavramlarına biraz daha aşina olmayı başarabilmişizdir.En yakın zamanda kaldığımız yerden devam edeceğiz. SEYHAN UÇAR seyhan44_44@hotmail.com Yorumlar
Gayet başarılı bir ders olmuş seyhan.Emeğine sağlık.Bahsettiğin birşeye değinmekte fayda olduğunu düşünüyorum;
Java diline her ne kadar aşina olmasamda c# dilinin javanın benzer özelliklerini taşıdığını herkez bilir.Yalnız javada bir class içersinde tanımlanan nesne farklı class lar içerisinde kullanılabilirken c# da bu durum söz konusu değil.Her nesne kendi bloğunda çağırılabiliyor.Bunuda farklı benzerlik olarak gösterebiliriz.. :)
Yazan:Oguzz | 01/06/2009 16:48:03
|
||||||||||||||||||||||||||||||||||
![]() |
![]() |
|||||||||||||||||||||||||||||||||