Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- trait Talkative {def greeting: String}
- trait English extends Talkative {
- override def greeting(): String = "Hello!"
- }
- trait German extends Talkative {
- override def greeting(): String = "Guten Tag!"
- }
- trait French extends Talkative {
- override def greeting(): String = "Bonjour!"
- }
- class Speaker extends French with German with English
- val speaker = new Speaker
- // The last Trait (with clause) is going to have precedence.
- assert(speaker.greeting() == "Hello!")
- // Changing the type does *not* change it.
- assert(speaker.asInstanceOf[German].greeting() == "Hello!")
- assert(speaker.asInstanceOf[English].greeting() == "Hello!")
- assert(speaker.asInstanceOf[French].greeting() == "Hello!")
Add Comment
Please, Sign In to add comment