//继承
class Animal(){
//属性
var name=""
//方法
def run():Unit={
println("animal run........")
}
}
//继承
//1.不劳而获
class Dog extends Animal(){
override def run(): Unit = {
println("dog is running.....")
}
}
class Cat() extends Animal(){
override def run():Unit={
println("cat is running.........")
}
}
object Test20 {
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()
}
}