tags: scala oops classes

  • Traits are like interfaces in java.
  • It can’t be initiated like abstract classes.
  • A class can extend multiple traits unlike classes inheritence.
trait Driveable:
    def moveForward(speed: Int): Unit
    def stop: Unit
    def leftTurn(speed: Int): Unit
    ...
class Car extends Driveable:
    // implement all those methods
    override def moveForward(speed: Int): Unit =
        this.x += speed
 
    ...