Например, если у меня есть ClassA и ClassB, тогда ClassC может расширять ClassA и ClassB (как в С++).
Ответ 1
Нет, ClassC просто может расширить один из них, но вы можете смешивать несколько признаков.
Ответ 2
Вы не можете расширять несколько классов, но вы можете расширить несколько признаков. В отличие от интерфейсов Java, черты также могут включать реализацию (определения методов, членов данных и т.д.). По-прежнему существует разница в том, что вы не можете напрямую создавать черту (аналогично абстрактным классам).
trait T1
trait T2
trait T3
class C extends T1 with T2 with T3