Java'da kalıtım yasaklamak için iyi bir sebep mi?
Son sınıf ya da sınıfları tek, özel parametresiz bir kurucu kullanarak örneğin Java'da kalıtım yasaklamak için iyi sebepleri nelerdir? Son bir yöntem yapmak için iyi sebepleri nelerdir?
CEVAP
En iyi referans burada Madde 17 (ilk baskısında 15) Joshua Bloch mükemmel kitap "Java", "miras ve Tasarım belge veya başka yasaklar". Etkili Gerçekten okumalısınız, o zaman özetleyeyim.
Aileleri ile devralınan sınıfları, etkileşim halinde atadan miras için tasarlanmış olmasa da şaşırtıcı ve unpredicatable olabilir.
Sınıfları bu nedenle iki çeşit gelir :
Sınıflarolması için tasarlanmışuzatılmışve nasıl yapılacağını açıklamak için yeterli belgelere sahip
Sınıflarişaretlenmişson
Eğer tamamen iç kod yazıyorsanız bu overkill biraz olabilir. Ancak ekstra çaba sınıfı bir dosya için beş karakter ekleme ile ilgili çok küçük. Eğer sadece yazmak için iç tüketimi sonra gelecek kodlayıcı her zaman kaldırmak 'son' - bence bir uyarı söyleyerek, "bu sınıf değildi tasarlanmış miras zihin".