scala代码

23 阅读1分钟

这是一段 Scala 语言的代码,用于展示面向对象编程中的继承与多态特性,以下是关键分析:

屏幕截图 2025-11-10 093244.png

1. 类的继承关系

  • 父类 Fruit 定义了通用方法 eat(),输出 “eat...”。
  • 子类 Apple 和 Watermelon 继承 Fruit,并通过 override 重写 eat() 方法,分别实现了 “吃掉果皮,中间的不能吃” 和 “削皮,中间的最好吃” 的特定逻辑。

2. 多态的体现

在 main 方法中,定义了 test 函数,其参数类型为父类 Fruit,但实际调用时传入了子类 Apple 和 Watermelon 的实例。程序会根据传入的子类对象,自动调用对应的重写方法,这就是多态—— 父类引用可以指向子类对象,且能调用子类的特有实现。

这种设计让代码更具扩展性,若后续新增其他水果子类(如 Banana),只需重写 eat() 方法,test 函数无需修改即可兼容,体现了面向对象 “开闭原则” 的设计思想。