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()
}
}