类的

19 阅读1分钟

在原有类的基础上定义一个新类 原有类称为父类,新类称为子类 class子类名 extends父类名{类体} 子类可以直接使用父类的属性和方法 super在子类中访问父类

package level02

object class10{
  class Aniaml() {
    def eat(): Unit = {
      println("animal eat ......")
    }
  }

  class Dog() extends Aniaml{

  }


  def main(args: Array[String]): Unit = {
    val d1 = new Dog()
    d1.eat()

  }
}
package level02

object class12{
  class Parent() {
    def run():Unit = {
      println("run...")
    }
  }
  class Son extends Parent(){

    def run1():Unit = {}

    override def run():Unit = {
      super.run()//super.run在子类中 调用父类的方法
      println("开自动驾驶的车run......")
    }
  }


  def main(args: Array[String]): Unit = {
    val s1 = new Son()
    s1.run()


  }
}
package level02

object class12{
  class Parent() {
    def run():Unit = {
      println("run...")
    }
  }
  class Son extends Parent(){

    def run1():Unit = {}

    override def run():Unit = {
      super.run()//super.run在子类中 调用父类的方法
      println("开自动驾驶的车run......")
    }
  }


  def main(args: Array[String]): Unit = {
    val s1 = new Son()
    s1.run()


  }
}
package level02

object class11{
  class Aniaml(var name:String,var age :Int ) {


    println(s"父类构造器被调用...${name},${age} ")

    def say(): Unit = {
      println(s"Animal ${name},${age} ")
    }

  }

  class Dog(name:String,age:Int,var color:String) extends Aniaml(name, age){
    println(s"字类构造器被调用...${name},${age},${color} ")
    override def say():Unit = {
      super.say()
      println(s"狗狗我的颜色是${color}")
    }

  }


  def main(args: Array[String]): Unit = {
    val d1 = new Dog("旺财",1,"黑色")
    d1.say()


  }
}