Bu yüzden bir csharpsealed class
in miras almak istedim ve yandı. Kaynağa erişiminiz yoksa onu açmanın hiçbir yolu yoktur.
Sonra bana "neden sealed
var bile?" Diye düşündürdü . 4 ay önce. Bu konuda birçok şey okumasına rağmen anlayamadım:
- Jon Skeet'in dilekleri " sınıflar varsayılan olarak .NET'te mühürlendi. "
- Kompozisyon kalıtım yerine tercih edilmeli mi?
- "Tüm sınıfları mühürlememelisin (...)"
- Mühürlü bir sınıfla nasıl alay ediyorsun?
O zamandan beri hepsini sindirmeye çalıştım, ama bu benim için çok fazla. Sonunda dün tekrar denedim. Hepsini tekrar taradım, birkaç tane daha:
- Neden sınıf "soyut" veya "final / mühürlü" olmaktan başka bir şey olsun ki?
- 15 yıldan uzun bir süredir programlamada, zaten bağlantılı olan bir sorunun cevabından SOLID'i ilk kez duydum ve 4 ay önce hepsini okumadım
Sonunda, çok fazla düşünmeden sonra , orijinal başlığı yeni başlığa dayanarak ağır bir şekilde düzenlemeye karar verdim .
Eski bir soru çok geniş ve sübjektif idi. Temel olarak şunu soruyordu:
- Eski başlıkta: Mühürlü kullanmak için iyi bir sebep
- Vücutta: Mühürlü bir sınıf nasıl düzgün bir şekilde değiştirilir? Miras hakkını unuttun mu? Kompozisyon mu kullanıyorsunuz?
Ama şimdi, (ki dün yapmadığım) her şeyin mirasını önlediğini anlamak ve gerçekten miras üzerinde kompozisyon kullanabiliriz ve kullanmalıyız , ihtiyacım olanın pratik örnekler olduğunu fark ettim .sealed
Sanırım burada sorum, BayMindor'un bana bir sohbette bana önerdiği şey (ve aslında her zaman olmuştur) : Kalıtım için tasarım nasıl ekstra maliyete neden olabilir?