Scala中的继承以及override和super关键字详解

简介: scala语言是支持面向对象编程的,我们也可以使用scala来实现继承,通过继承来减少重复代码。

语法:

class/object 子类 extends 父类 {
    
    
    ..
}

在这里插入图片描述

class Person {
    
    
  var name = "super"def getName = this.name
}class Student extends Person
​
object Main13 {
    
    
  def main(args: Array[String]): Unit = {
    
    
    val p1 = new Person()
    val p2 = new Student()
​
    p2.name = "张三"
​
    println(p2.getName)
  }
}

override和super关键字:

  • 类似于Java语言,我们在子类中使用override可以来来重写父类的成员,可以使用super来引用父类

用法

  1. 子类要覆盖父类中的一个方法,必须要使用override关键字
  2. 使用override来重写一个val字段
  3. 使用super关键字来访问父类的成员方法
class Person {
    
    
  val name = "super"def getName = name
}class Student extends Person {
    
    
  // 重写val字段
  override val name: String = "child"// 重写getName方法
  override def getName: String = "hello, " + super.getName
}object Main13 {
    
    
  def main(args: Array[String]): Unit = {
    
    
    println(new Student().getName)
  }
}

猜你喜欢

转载自blog.csdn.net/m0_49834705/article/details/113088556