Home » Scala Trait Mixins

Scala Trait Mixins

In scala, trait mixins means you can extend any number of traits with a class or abstract class. You can extend only traits or combination of traits and class or traits and abstract class.

It is necessary to maintain order of mixins otherwise compiler throws an error.

You can use mixins in scala like this:

Scala Trait Example: Mixins Order Not Maintained

In this example, we have extended a trait and an abstract class. Let’s see what happen.


error: class PrintA4 needs to be a trait to be mixed in  class A6 extends Print with PrintA4{                              ^  one error found  

The above program throws a compile time error, because we didn’t maintain mixins order.

Scala Mixins Order

The right mixins order of trait is that any class or abstract class which you want to extend, first extend this. All the traits will be extended after this class or abstract class.

Scala Trait Example: Mixins Order Maintained


print sheet  Print A4 Sheet  

Another Example of Scala Trait

Here, we have used one more approach to extend trait in our program. In this approach, we extend trait during object creation. Let’s see an example.


print sheet  Print A4 Sheet  

You may also like