Scala的多态概述

Scala通过虚拟函数、重载函数和重载运算符来实现多态性。多态性是面向对象编程语言中最重要的概念之一。在面向对象编程中,多态性最常见的用法是父类的引用被用来指代子类对象。

多态性:多态性是面向对象编程中的一个重要概念,指的是将类的实例视为它们所属的类及其所有父类的实例。通过多态性,我们可以编写更灵活和通用的代码,同时提高代码的复用性和可维护性。Scala中的多态性主要通过使用类型类实现。

面向对象的三个特点:封装,继承,多态。同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。

Scala 复制代码
class Animal(){
  //属性
  var name = ""
  //方法
  def run():Unit={
    println("animal run....")
  }
}
//继承
//1.不劳而获
class Dog extends  Aniaml(){
  //重写父类的同名方法
  override  def run():Unit = {
    println("dog is running...")
  }
}
class Cat extends  Aniaml(){
  override  def run():Unit = {
    println("cat is running...")
  }
}
object day13 {
  def main(args: Array[String]): Unit = {
    val d1 = new Dog()
    val c1 = new Cat()
    //d1.run()=多态
    //定义函数:一个函数的参数是一个对象
    run(d1)
    run(c1)
  }
  def run(obj:Animal):Unit = {
    obj.run()

  }

}
相关推荐
神奇小汤圆10 小时前
一文吃透 Spring 框架:原理、实践与面试全解析
后端
站大爷IP11 小时前
Python 的切片把我坑惨了,原来 `[:]` 是浅拷贝,而 `copy.deepcopy` 才是我的救命稻草
后端
神奇小汤圆11 小时前
Java 万字长文:从零基础到高级应用的完整教程——把面向对象讲透
后端
孓最求完美11 小时前
实战经验:JT808/JT809 车联网高并发服务端性能优化指南
后端
shengjk111 小时前
深度拆解:从 LC-3 汇编到 Java/Rust,数组越界与硬件中断的底层真相
后端
Gorway11 小时前
理解 Spring 依赖注入:从构造器注入到集合与条件 Bean
java·后端
颜进强11 小时前
Claude Code - 26 效率三件套:cc-switch 切模型 · codeburn 算成本 · claude-hud 看状态
前端·后端·ai编程
LiLiYuan.11 小时前
【字符串常量池】
java·开发语言·面试
瑞码空间11 小时前
Python爬虫进阶实战笔记
开发语言·python·计算机·python爬虫