SORU
15 HAZİRAN 2009, PAZARTESİ


Neden Çoklu Kalıtım Java veya C izin verilmez#?

Çoklu kalıtım Java ve C izin verilmediğini biliyorum. Birçok kitap sadece, birden çok devralma izin verilmez söylüyorlar. Ama kullanarak arayüzleri ile yapılabiliyor. Hiçbir şey verilmez neden tartışılıyor. Kimseye izin verilmez neden bana tam olarak söyleyebilir mi?

CEVAP
15 HAZİRAN 2009, PAZARTESİ


Dil tasarımcılar etmemeye karar verdim. çünkü kısa cevap:

Temel olarak, her ikisi de görünüyordu .NET ve Java tasarımcıları MI ekleme, onlar gerekçeli, çünkü birden çok devralma izin vermediçok fazla karmaşıklık ekledisağlarken diller içinçok az yarar.

Eğlenceli ve derinlemesine bir daha okumak için, bazı makaleler dil tasarımcıları bazı görüşmeler ile web üzerinde mevcuttur. Örneğin, için .NET, Chris Brumme CLR üzerinde MS çalışmış) karar vermediler neden: nedenleri açıkladı

  1. Farklı diller gerçekten Mİ nasıl farklı beklentileri var çalışır. Çatışmalar nasıl örneğin, çözülmüş ve yinelenen üsleri olsun birleştirilir ya da gereksiz. Önce uygulamak CLR MI, biz yapmak zorunda Tüm diller bu rakam bir anket ortak kavramları ve karar nasıl bunları ifade etmek dil tarafsız bir şekilde. Biz de MI ait olup olmadığına karar vermek zorunda bunun ne anlama geleceğini CLS ve bu kavram istemiyor diller (muhtemelen örneğin VB.NET,). Bu tabi ki, bu içinde bulunduğumuz iş. ortak bir dil olarak çalışma zamanı, ama biz Mİ ne var etrafta olmayacak henüz.

  2. Mİ gerçekten uygun yerlerde sayısı aslında oldukça. küçük. Birçok durumda, birden çok arayüzü devralma iş bulabilir yerine yapılır. Diğer durumlarda, olabilir saklama ve kullanabilme heyet. Eğer bir ekleme olsaydık biraz farklı bir yapı gibi mixins, aslında daha fazla olurdu güçlü?

  3. Birden çok uygulama devralma içine karmaşıklık bir sürü enjekte uygulama. Bu karmaşıklık etkileri döküm, irsaliye düzeni, alan erişim, seri hale getirme, kimlik karşılaştırmalar, doğrulanabilirlik, yansıma, jenerik, ve muhtemelen diğer pek çok yerde.

You can read the full article here.

Java için this article okuyabilirsiniz:

Atlama birden fazla nedenleri Java dilinde kalıtım çoğunlukla "basit, nesne kaynaklanıyor odaklı, bildik" gol. Bir olarak basit bir dil, Java yaratıcıları. en geliştiriciler bir dil istedim geniş olmadan kavramak olabilir eğitim. Bu amaçla, onlar çalıştı dil olarak C olarak benzer hale Olası (tanıdık) taşımadan 'nin gereksiz karmaşıklığı içinde C (basit).

Tasarımcıların fikir, birden fazla yer veraset ve daha fazla sorunlara neden olur karışıklık daha çözer. Kesip çıkarıyorlar dilden birden çok devralma (operatör kesmişler gibi aşırı yükleme). Tasarımcıların geniş C deneyimi onlara bunu öğretti çoklu kalıtım sadece değer değildi baş ağrısı.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • cdgotx

    cdgotx

    8 Kasım 2011
  • finalcall07

    finalcall07

    11 NİSAN 2008
  • GoProTutorials

    GoProTutoria

    18 NİSAN 2011