6 Kasım 2008, PERŞEMBE
Neden bir sınıf seal?
İçinde mühürlenmiş sınıflar toplu arkasındaki motivasyon ne olduğunu duymak isterim .Net çerçeve. Sınıf sızdırmazlık faydası nedir? Miras değil izin vermek yararlı olabilir nasıl anlayamaz ve büyük olasılıkla sadece bu sınıflar mücadele değil.
Neden çerçeve bu şekilde dizayn ettim ve onu değiştirmek için her şeyi ortaya çıkarmak için unbreaking olmaz mı? Ama sadece kötü olmasının başka bir nedeni olmalı?
CEVAP
6 Kasım 2008, PERŞEMBE
Sınıfları da miras için tasarlanmış ya da yasaklamak gerekir. Miras için tasarım yapmanın bir bedeli vardır:
- Uygulamanız (kullanıcı geçersiz kılar diye diğer yöntemler, ama başka arayacak olan ilan varsa) pin
- Sadece etkileri yerine uygulamaya koyuyor
- Tasarlarken daha fazla olasılık düşünmek zorunda anlamına gelir
- Eşit gibi şeyler miras bir ağacı tasarım zor durumda
- Daha fazla bilgi gerektirir
- Alt sınıfı olan değişmez bir tür değişken (ick) olabilir
Java Etkin Madde 17 bu konuda daha fazla detaya gider - Java bağlamında yazılmış olması ne olursa olsun, tavsiye için geçerlidir .NET.
Şahsen sınıflar varsayılan olarak kapalı olmasını isterdim .NET.
Bunu Paylaş:
Neden Java statik olarak bir sınıf bil...
Neden Java bize bir isim dosya adından...
::push_back vector) kullanır değeri, s...
Java statik iç içe geçmiş bir sınıf, n...
Neden türetilmiş sınıftaki bir yöntemi...