Elmas problem, yöntemin hangi uygulamanın seçileceğine karar verememesidir. Scala, dil spesifikasyonlarının bir parçası olarak hangi uygulamanın seçileceğini tanımlayarak bunu çözer ( bu Wikipedia makalesinde Scala hakkındaki bölümü okuyun ).
Tabii ki, aynı düzen tanımı sınıf çoklu mirasta da kullanılabilir, o zaman neden özelliklerle uğraşasınız ki?
IMO'nun nedeni yapıcılar. Yapıcıların, düzenli yöntemlerin sahip olmadığı çeşitli sınırlamaları vardır - her nesne için sadece bir kez çağrılabilirler, her yeni nesne için çağrılmaları gerekir ve bir alt sınıf kurucusu, ilk talimat olarak üst öğesinin yapıcısını çağırmalıdır (çoğu dil parametreleri geçirmeniz gerekmiyorsa bunu örtük olarak yapın).
B ve C A ve D miras B ve C miras alırsa ve hem B hem de C yapıcıları A yapıcısını çağırırsa, D yapıcısı A yapıcısını iki kez çağıracaktır. Scala gibi hangi uygulamaların yöntemlerle yapıldığını tanımlamak burada işe yaramayacaktır, çünkü hem B hem de C yapıcıları çağrılmalıdır.
Özellikler bu sorunu önler çünkü kurucuları yoktur.