muhtemelenbu örtülü " /> muhtemelenbu örtülü " />
SORU
3 AĞUSTOS 2012, Cuma


Neden varsayılan parametresiz yapıcı parametreleri ile bir oluşturduğunuzda git yapar

Yapıcı parametreleri alarak oluştururken C#, C ve Java, varsayılan bir parametresiz. Her zaman sadece bu gerçeği kabul etmiştim, ama şimdi merak ettim.

Bu davranışın nedeni nedir? Sadece bir "" "Eğer kendi kurucu yarattın, sen . diyerek güvenlik önlemi/tahmin ^em>muhtemelenbu örtülü bir etrafında asılı istemiyorum"? Yoksa derleyici bir kurucu oluşturduktan sonra bir tane eklemek imkansız kılan teknik bir nedeni var mı?

CEVAP
3 AĞUSTOS 2012, Cuma


Derleyici eğer kendi eklediğiniz zaman yapıcı ekleyin edemeyeceği bir neden yok - derleyici hemen hemen istediği her şeyi yapabilir! Ancak, en mantıklı bakmak gerekir:

  • Tanımlanan yokherhangi birstatik olmayan bir sınıf için yapıcı, ben büyük olasılıkla bu sınıfın bir örneğini oluşturmaya muktedir istiyorum. Bunu sağlamak için, derleyicigerekirama örnekleme izin vermek için hiçbir etkisi olmaz olan parametresiz bir kurucu ekleyin. Bu sadece iş yapmak için benim kod boş bir yapıcı vardır gerek yok anlamına gelir.
  • Eğer benim de bir yapıcısı, özellikle parametreleri ile tanımlanan bir şey varsa, o zaman büyük olasılıkla sınıf oluşturma üzerinde yürütülmelidir benim kendi mantığı var. Eğer derleyici bu durumda boş, parametresiz bir kurucu oluşturmak için olsaydı, birileri için izin verecekatlamantık yollar her sayısında benim kod kırılmasına neden olabilecek yazılı, bana da olmuştu. Eğer bu durumda varsayılan boş bir yapıcı istiyorum, bu yüzden açıkça söylemek istiyorum.

Yani, her durumda, mevcut uygulamaları davranışı korunması açısından en mantıklı olduğunu görebilirsinizmuhtemelen niyetikod.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HowcastTechGadgets

    HowcastTechG

    22 EYLÜL 2010
  • MikeyMacintosh

    MikeyM

    28 Aralık 2009
  • Ryan Billy

    Ryan Billy

    30 EKİM 2006