Scala 中的继承、组合与特质:深入解析
在编程世界里,继承、组合和特质是构建强大且灵活代码的重要概念。下面我们将深入探讨这些概念,通过具体的代码示例和详细的解释,让你对它们有更清晰的理解。
1. 继承与多态
继承是一种允许一个类从另一个类获取特性的机制,它体现了 “is-a” 关系。例如,动物类是一个基类,猫、牛和鸭子类继承自动物类。
class Animal(name: String) {
def makeSound(): Unit = {
println(name + " : Abstract sound")
}
}
class Cat(name: String) extends Animal(name) {
override def makeSound(): Unit = {
println(name + " : Meow")
}
}
class Cow(name: String) extends Animal(name) {
override def makeSound(): Unit = {
println(name + " : Moo")
}
}
class Duck(name: String) extends Animal(name) {
override def makeSound(): Unit = {
println(name + " : Quack")
}
}
object AnimalSoundApp {
def main(args: Array[String]): Unit = {
makeAnimalSou