Scala快速入门--继承与重写的使用

Posted 一只楠喃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala快速入门--继承与重写的使用相关的知识,希望对你有一定的参考价值。

类的继承与重写

继承本质:决定了这类是什么

Scala中实现类的继承

关键字:extends

class Person03 {
  //共同的属性
  var name:String = "itcast"
  val age:Int = 18
  //共同的方法
  def sayWhat = println("I am a Human")
}

class Student03 extends Person03{
  //定义自己的属性
  val stuid:String = "001"
  //定义自己的方法
  def learning = println("I am Learning")

}

object TestPerson03{
  def main(args: Array[String]): Unit = {
    val s1 = new Student03
    println(s1.stuid)//自己的属性
    s1.learning//自己的方法
    println(s1.name+"\\t"+s1.age) //父类的属性
    s1.sayWhat //父类的方法
  }
}

Scala中实现方法和属性的重写

class Student03 extends Person03{
  //定义自己的属性
  val stuid:String = "001"
  //定义自己的方法
  def learning = println("I am Learning")

  //重写父类的属性
  override val age: Int = 19

  //重写父类的方法
  override def sayWhat: Unit = println("I am a Student")

}
  • 关键字:override
  • super:表示调用父类的方法,不能调用父类的属性
  • 注意:重写属性时,只能重写val常量,var变量不需要重写,直接修改即可

Scala中实现不允许子类重写或者访问

  • 不允许重写:看的见,摸不着
    • final:能看到以及调用,不允许重写
  • 不允许访问:看不见
    • private:不可以访问

点个赞嘛!![在这里插入图片描述](https://img-blog.csdnimg.cn/20210518181757342.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80ODE0Mzk5Ng==,size_16,color_FFFFFF,t_70)


以上是关于Scala快速入门--继承与重写的使用的主要内容,如果未能解决你的问题,请参考以下文章

Scala入门系列:面向对象之继承

Scala快速入门--抽象类的使用

Scala的类继承

scala_类的继承

《快学Scala》第八章——继承

Scala快速入门