SORU
10 EYLÜL 2008, ÇARŞAMBA


Miras yoluyla bir numaralama uzanan

Bu oldukça çeteleler fikrine karşı gider, ama mümkün C çeteleler uzatmak için#/Java biliyorum? "Uzatmak" mevcut bir numaralama gelen annesi OO anlamında bir numaralama için yeni değerler ekleyerek, ama aynı zamanda. her iki anlamda yani

Sadece onları oldukça yakın olarak Java mümkün değil sanırım, 5? Java (). C# olası bir yolu olabilir diye düşünmüştüm çok çılgın şeyler olsa da, yapmak isteyen insanların çok daha şanslı görünüyor. Muhtemelen yansıma aslında bu yöntemi kullanmak istiyorum her () hacklenmiş olabilir?

Mutlaka herhangi bir yöntem uygulamaya ilgilenmiyorum, sadece o zaman farkına vardım merakımı uyandırmıştı :-)

CEVAP
10 EYLÜL 2008, ÇARŞAMBA


Çeteleler genişletemezsiniz nedeni polimorfizmi ile sorunlara neden olur çünkü.

Değerleri A, B ve C ile bir numaralama MyEnum ve değeri D ile uzatmak MyExtEnum olarak söylüyorlar.

Bir yöntem bir yerde myEnum bir değer, parametre olarak örneğin beklediğini varsayalım. Bir alt tür çünkü MyExtEnum bir değer sağlamak için yasal olmalı, ama şimdi değeri D çıkarsa ne olacak?

Bu sorunu ortadan kaldırmak için uzanan çeteleler yasadışı

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bryan Adams

    Bryan Adams

    30 Mart 2006
  • Noam Erez

    Noam Erez

    3 NİSAN 2012
  • UKF

    UKF

    2 Aralık 2009