![]() |
![]() |
||||||||||||||||||||||||||||||
|
Nesnesel Yaklaşım (Örnek) Kaldigimiz yer olan nesnesel yaklasimin tam olarak pekismesi bakimindan örnek olmasi bakimindan yeni bir kod yazmaya karar verdimBu gün bir problem belirleyip bu problemin nesnesel tasarimini yapip koda dökelim. ==================================================================================== Problemimiz matematikten de bildigimiz üçgen olma kurali.Bu formülü matematikten bildigimizi farzedip problemi biraz daha açalim.Yazacapimiz program kullanici tarafindan girilen üç kenar uzunlugunun üçgen olup olmama kosulunu sinayacak ve eger üçgen olusturabiliyor ise bu üçgenin tipini(eskenar,ikizkenar,normal) belirleyecek. Problemiizi belirledikten sonra simdi tasarimina karar verelim.Problemdeki isim ve fiilleri anliz edersek eger elimizde bir üçgen(Triangle) sinifinin olacagi asikardir. Bu sinifin ise 3 kenarinin olacagi ap açik ortadadir.Simdi bu sinifin source kodunu verip üzerine bir kaç açiklama yazmaya çalisalim; Kodda verilen methodlari kisaca açiklamaya çalisalim.Daha önceden de belirttigimiz gibi bir sinifin yazilimi; özelliklerin tanimlanmasi , parametreli ve parametresiz constructorlar, daha sonra belirledigimiz özelliklerin getter-setter tanimlanmasi yapilmasi olacaktir. Simdi bunlarin disinda analizde belirledigimiz methodlari kisaca tanitalim; isTriangle :çagirildigi yere boolean deger döndiren, girilen üç kenarin üçgen olup olmama kosulunu sinayan bir methoddur.Içerisinde matematikten bildigimiz üçgen olma kosulunu sinamaktadir. isValid : çagirildigi yere bir deger döndürmeyen sayilarin validationunu kontrol eden bir methodtur. Bildigimiz üzere üçgen kenar uzunliklari sifirdan büyük olmalidir.Bu method bu kosulu sinamaktadir.Egerüçgen uzunluklari valid degilse geriye bir Exception döndürmektedir.Bunun diger bir örnegi hemen bu methodun altindaki isValidNumber methodudur. toString : bu method çagirildigi nesne referansinin bilgilerini kullaniciya göstermektedir.Zaten geriye döndürdügü deger String formatindadir. findTriangleSytle : bu method eger üçgen kenarlari valid, ve bu kenarlar ile üçgen olusabiliyor ise bu üçgenin hangi üçgen oldugunu bulan methoddur. ==================================================================================================== Bu açiklamardan sonra diger bir problem olan kullanicidan veri alma isine geldi.Bu kismin birden çok alternatifi bulunmaktadir.Yeni baslayanlar için standart kütüphaneden Scanner clasi kullanilabilir. Ama en etkin olan ve bence en çok kullanilmasi gereken netten de kolayca bulabileceginiz bir MatematikProfu tarafindan yazilan TextIO sinifi olacaktir.Bu sinif bilinen tüm hatalarla kolaylikla bas edebilecek seviyede kod kalitesi olan bir java kodudur.Javaci arkadaslardan bu kodu tercih etmelerini tavsiye ederim.Kod asagidaki gibidir; ====================================================================================================== Simdi sira geldi tanimlamis ldugumuz siniflari test etme isine .Bu is için TestTriangle sinifi olusturup bu sinif içinde kullanicidan gerekli verileri alip hizmet verecegiz.Test source kodu asagidaki gibidir; ====================================================================================================== Açiklamardan sonra umarim javaci arkadaslar için açiklayici bir kod olmustur.Tekrar tekrar söyledigim gibi kodlari daha net anlayabilmek için size tavsiyem bu kodlari çalistirmaniz olacaktir. SEYHAN UÇAR seyhan44_44@hotmail.com YorumlarHiç yorum yapılmamış |
|||||||||||||||||||||||||||||||
![]() |
![]() |
||||||||||||||||||||||||||||||