开发者学堂课程【Scala 核心编程-基础:Scala 的继承快速入门】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/609/detail/8968
Scala 的继承快速入门
目录
一、Scala 继承的基本语法
二、编写 Student 继承 Person 的案例
一、Scala 继承的基本语法
Scala 继承的语法和 Java 继承的语法基本一样:
class 子类名 extends 父类名{类体}。
二、编写 Student 继承 Person 的案例
1.代码
编写一个 Student 继承 Person 的案例,体验一下 Scala 继承的特点
package com.atguigu.chapter07.myextends
object Extendss01 {
def main(args:Array[String]):Unit = {
//使用
val student = new student
student.name = "jack"
//调用了 student.name()
student.studying()
student.showInfo()
}
}
class Person {
//Person 类
var name:String = _
var age:Int = _
def showInfo():Unit = {
println("学生学习如下:")
println("名字:"+this.name)
}
}
//Student 类继承了 Person 类
class Student extends Person {
def studying():Unit = {
//这里可以使用父类的属性
println(this.name + "学习 scala 中...")
}
}
运行
2.class 逻辑
在 class 里面
class Person {
//Person 类
var name:String = _
var age:Int = _
def showInfo():Unit = {
println("学生学习如下:")
println("名字:"+this.name)
}
都是私有的。
首先观察父类 person
person.class
student.class
student 继承了 person
继承完了之后上面的代码是可以使用的。它可以使用 name 和 age 的原因是调用了 public 的东西。
代码中的 name 是私有的,但是上面的代码可以用到,是因为在 student.name = "jack" //调用了student.name()方法。
而这里的 name()方法是 class Person 公共的 name 方法。于是它的调用机制就是 Person 的方法。
3.强调点
student.name = "jack"这里调用了 student.name()方法。