SORU
22 Ocak 2013, Salı


Tüm yöntemleri sanal mark gerekir?

Java son olarak yöntem bunu yapmak için işaretleyinimkansızgeçersiz kılmak için.

C# sanal yöntem olarak işaretlemek için bunu yapmak zorundamümküngeçersiz kılmak için.

Demek oluyor ki C * işareti tüm yöntemleri sanal (pek azı dışında olanlar senin olmak istemiyorum geçersiz) beri büyük olasılıkla bilmiyorsun ne sınıfınız olabilir miras mı?

CEVAP
22 Ocak 2013, Salı


C# sanal yöntem olarak işaretlemek için olası geçersiz kılmak için yapmak zorunda. Demek oluyor ki C * işareti tüm yöntemleri sanal (pek azı dışında olanlar senin olmak istemiyorum geçersiz) beri büyük olasılıkla bilmiyorsun ne sınıfınız olabilir miras mı?

Hayır. Dil tasarımcılar sanal varsayılan gerektiğini düşündümvarsayılan olurdu.

Overridablilityözelliğitüm özelliklere sahip gibimaliyeti. Maliyeti bir overrideable yöntemi önemli: büyük tasarım, uygulama ve test maliyetleri, özellikle bir "hassasiyet" derse; sanal yöntemler yollar tanıtan denenmemiş üçüncü taraf kod sistemi ve güvenlik etkisi.

Eğer sınıfınız sonra devralınan nasıl yapacağını bilmiyorsunsınıf yayınlamayınçünkübu tasarımı henüz bitmemişti.Kullanildigini modelinizi önceden bilmen gereken bir şey olduğu kesin; derin bir tasarım ve test stratejisi etkilemeli.

Tüm sınıflar olmasını savunuyorumkapalıve yöntemlerisanal olmayangerçek dünya müşteri odaklı sebebi ortaya çıkarmak için bir veya sanal bir yöntem sağlamak için kadar.

Temelde soru "müşterilerim benim sınıf tüketmek; bu nedenle keyfi genişletilebilir yapmalıyım? niyetiniz ne kadar cahil olduğumu" Hayır; gerekirbilgili olmak! "Müşterilerim benim sınıf kullanmak için gidiyoruz nasıl bilmiyorum, bu yüzden tüm özellikleri okuma-yazma yapmalıyım? sormazdın Ve benim kullanıcıların kendi uygulama ile herhangi bir yöntem yerine, tüm yöntemlerimi okuma-yazma temsilci türünün özelliklerini yapayım?" Hayır, senin kadar bunların hiçbirini yapmakanıtbir kullanıcı aslında bu yeteneğe ihtiyacı var! Değerli zamanınızı tasarımı ve kullanıcıların gerçekten istiyorum ve gereken özellikleri test uygulamaya geçirmek, ve böylece bilginin bir yerden.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • David Tedeyev

    David Tedeye

    20 AĞUSTOS 2011
  • iBand IguJoo

    iBand IguJoo

    25 AĞUSTOS 2006
  • Machinima

    Machinima

    17 Ocak 2006