class Animal(name: String) { def speak(): Unit = { println(s"$name makes a sound") } } class Dog(name: String) extends Animal(name) { override def speak(): Unit = { println(s"$name barks") } } object Main { def main(args: Array[String]): Unit = { val myDog = new Dog("Buddy") myDog.speak() } }