Birbirinden bağımsız sınıflarda aynı işi yapan bir fonksiyon var. Bu fonksiyon her sınıfta kullanılıyor ve gövdeleri aynı. Acaba her sınıf için bu fonksiyon yazılmalı mı? Bu durumla alakalı C++ / Java perspektifinden bakarsak çözümler var mı?

soruldu: 31 Eki '15, 15:21

iskenderoguz's gravatar image

iskenderoguz
25191116
cevap kabul oranı: 25%

Merhabalar,böyle bir işlem için doğru tasarım yapılarak bir interface veya class kullanarak kalıtım yapılabilir.Kolay Gelsin.

(31 Eki '15, 15:29) tamercan tamercan's gravatar image

Daha tecrübeli olanlar daha iyi bilirler ancak benim görüşüm, Eğer birbirinden hiç bir şekilde bağı bulunmayan class'lar ise onlar için Util classlarında gruplandırıp o şekilde kullanmak mantıklı geliyor bana.

Mesela String düzenleme işlemi varsa her classta ve aynı şekilde yapılıyorsa, StringUtil gibi bir class içine tanımlayıp ondan bu classlar içinde kullanmak daha mantıklı gibi geliyor tekrar tekrar yazmaktansa.

Ama eğer bir şekilde bir bağı varsa bu classların bir super class'tan inherit edilmesi, yada interface ile özellik eklenmesi daha doğru olur.

permanent link

cevaplandı: 01 Kas '15, 06:52

Kaz%C4%B1m's gravatar image

Kazım
1.7k415
cevap kabul oranı: 37%

Aynı işi yapanlar bir sınıfa alınarak buradan kalıtım yapılabilir.

http://www.baskent.edu.tr/~tkaracay/etudio/ders/prg/java/ch15/inheritance.htm

permanent link

cevaplandı: 31 Eki '15, 16:18

meSutPiskin's gravatar image

meSutPiskin
3456611
cevap kabul oranı: 23%

Kazım'ın dediği gibi de kullanılır. Koduna uygunmu bilmiyorum ama extend(miras) edersen 1 kere yazıp miras alan class'larda aynı metodları tek tek yazmana gerek kalmaz. Miras alınan class'taki metodun davranışından biraz farklı bir çalışmaya sahip olmasını istiyosan Override edersin.

permanent link

cevaplandı: 01 Kas '15, 11:04

hero_blacksmith's gravatar image

hero_blacksmith
25
cevap kabul oranı: 0%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,103
×46

Soruldu: 31 Eki '15, 15:21

Görüntüleme: 418 kez

Son güncelleme: 01 Kas '15, 11:04

powered by BitNami OSQA