dikkatli kullanılmadığında işleri oldukça karıştırabilen tekniktir.
a diye bir ata sınıftan türettiğiniz b ve c sınıflarını bir d sınıfında "
inherit" ederseniz, a'daki değişkenlerin bir mi iki mi "
instance"ı olacağını kestirmek zordur (bkz:
join). dahası, d sınıfınızı bir x fonksiyonuna a olarak göndermek istediğinizde x'e b'nin ezdiği metotlar mı görünecek, c'nin ezdiği metotlar mı görünecek, karar vermeniz lâzım (bkz:
select). bitmedi! tüm bunların yanında isim çakışmaları, bunları çözmek için uydurulmuş garip ifadeler (bkz:
rename), anlaşılması zor kod da cabası.
bir yandan kafamızdaki modelin doğal bir yansıması gibi görünse de, bir yandan da yüz durumun doksan dokuzunda "inherit" edilecek sınıflardan birinin değişken olarak ayrıca tutulmasıyla hâlledilebilecek bir sorunun çözümüdür bu. faydasını zararını iyi bilmek gerekir.