SORU
8 Mart 2010, PAZARTESİ


Kalıtım ve Kompozisyon arasındaki fark

Olan Kompozisyon ve Miras aynı mı? Eğer kompozisyon desen uygulamak istiyorum, nasıl Java ile bunu yapabilir miyim?

CEVAP
8 Mart 2010, PAZARTESİ


Kesinlikle farklılar. Bir miras< . em ^"-a"ilişki. Kompozisyon< . em ^"-a".

Başka bir sınıf örneği C sınıf yerine C uzanan bir alan olarak alarak kompozisyon. Kompozisyon çok miras daha iyi olurdu iyi bir örnek şu anda java.util.Vector uzanır java.util.Stack. Şimdi bunu bir gaf olarak kabul edilir. Bir yığın< . em ^"OLMAZ" a " olurvektör; Ekle ve elemanları keyfi olarak görevden almaya yetkisi olmamalıdır. Yerine kompozisyon olmalıydı.

Ne yazık ki, miras hiyerarşisini değiştirme şimdi varolan kodu ile uyumluluk bozar beri bu tasarım hatasını düzeltmek için çok geç.Stack kalıtım yerine kompozisyon kullanmış, her zaman API ihlal etmeden başka bir veri yapısı kullanmak için modifiye edilebilir.

Ben çok Josh Bloch kitabı tavsiye ederim2. Baskı etkili Java

  • Madde 16: İyilik üzerinde miras kompozisyon
  • Madde 17: miras için Tasarım belge yoksa buna engel

Nesne tasarımı konusunda iyi değil bolca varolan sınıfları genişletme. İlk içgüdüsü yerine oluşturmak için olmalıdır.


Ayrıca Bkz:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FD2097

    FD2097

    21 HAZİRAN 2009
  • Maschine Tutorials

    Maschine Tut

    15 ŞUBAT 2011
  • PorterRobinsonVEVO

    PorterRobins

    11 Kasım 2013