SORU
21 EYLÜL 2011, ÇARŞAMBA


Somut bir sınıf devralmasını herhangi bir iyi örnekler?

Arka plan:

Bir Java programcısı olarak, ben yoğun bir şekilde miras (daha doğrusu uygulamak:) arayüzleri, ve bazen ben temel sınıflar tasarım soyut. Ancak, ben asla gerçekten ihtiyacı hissettiğini alt sınıf bir somut (soyut olmayan) sınıf (durumlarda nerede yaptım, daha sonra ortaya çıktı ki başka bir çözüm, gibi delegation uyardı).

Şimdi somut bir sınıf devralmasını uygun bulunduğu durum neredeyse yok olduğunu hissetmeye başlıyorum. Bir kere, Liskov substitution principle (LSP) neredeyse imkansız önemsiz olmayan sınıflar için memnun görünüyor; ayrıca many questions burada da benzer bir görüşü yansıtıyor.

Yani benim soru:

Hangi durum (varsa) aslında somut bir sınıfından mantıklı geliyor mu? Bu en iyi tasarım kısıtlamaları göz önüne alındığında, düşündüğünüz başka bir beton sınıfından devralan bir sınıf, gerçek dünyadaki somut bir örnek verebilir misiniz? LSP (ya da tatmin edici LSP önemsiz gibi örnekler) karşılayan örneklerde özellikle ilgimi B.

Ben esas olarak bir Java arka plan var, ama herhangi bir dilden örnekler ilgileniyorum.

CEVAP
21 EYLÜL 2011, ÇARŞAMBA


Sık sık biriskelet uygulamalarıbir arabirim için 0**. Eğer soyut yöntemler olmadan kullanildigini (kanca) gibi) verebilir, tercih başlatılamadı çünkü soyut olmayan iskelet bir sınıf var.

Bir örnek olurduiletme sarıcı sınıflarolmak mümkün iletmek için başka bir nesnenin bir beton sınıfı C Uygulama I, örneğin etkinleştirme decoration ya da basit bir kod yeniden kullanım C kalmadan miras C. Miras üzerinde Effective Java madde içinde böyle bir örnek 16, iyilik kompozisyon bulabilirsiniz. (Burada telif hakları yüzünden post etmek istemiyorum, ama gerçekten sadece yönlendirme sarılmış uygulanması için I yöntem çağrıları).

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CZTUTORIALS

    CZTUTORIALS

    28 Ocak 2011
  • DONFANTASTICKYPESS

    DONFANTASTIC

    1 Temmuz 2007
  • WoodysGamertag

    WoodysGamert

    17 Aralık 2009